请教下,如何进行MongoDB二维数组查询,最后返回的数据结构,形如:[[],[],[],[],...]。 另外,外层数组和内层数组的数据分别存在两个集合中
楼主: 放在2个集合的话 第一步 先请求出文章列表 这不难,默认的分页那种取法就行了 取出的文章列表格式应该是 这样的[ {id:1,content:‘body内容’,time:‘时间等’...},...] 第二部将 他们的 ids 取出来 (mongodb 模拟mysql in查询操作) 第三部 根据ids 取出聊天的集合的 记录。 取出后,遍历的时候 按照文章 id放成 talk1 = {id:num,items:[聊天1,聊天2...]} ;talk2={...} 这样话 他们的关系就显而易见了吧。
吧相应的聊天集合 根据id 放在聊天对象的一个属性上就ok了吧
我以为你都设计完事了呢;首先你看聊天的记录数,如果2000以内,或者更少 放在一个文章属性下面就ok了
{
id:12,
title:23,
content:'',
record:[comment1,comment2], //聊天记录
}这种查询,上有一定的方便,也有一定不好; 方便在于,查询文章聊天记录,一次性能很好的出来。
不好之处在于,对聊天记录做搜索,以及一些筛选,都比较困难。
内嵌应用范围相对狭小。针对小功能尤其合适。 变动性不多的较为合适
聊天——这个是在说文章的回复吗?一般的设计是文章内嵌最新的前10条评论——这个对象是列表的,进入文章详情之后可以翻页加载评论 在列表接口里不适合一次性加载全部的文章对象及其子对象