为了列出某个用户follow的所有人列表,我该如何写查询语句呢?

用户collection,我是这么设计的:

User {    uid: xx,    name: xxx,    description: xxxx,    follow: ["uid1","uid2","uid3",...]}
<uid1, name1, description1>
<uid2, name2, description2>
...


FFIVE
浏览 142回答 1
1回答

湖上湖

不要仅仅把mongodb当做一个schemeless的sql数据库,mongodb是没有子查询和跨表查询这个概念的。按照你的描述,如果你想要获取某个用户follow的所有人的详细信息列表,一种做法是把这些用户的所有信息都存到User里面:User&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;uid:&nbsp;xx,&nbsp;&nbsp;&nbsp;&nbsp;name:&nbsp;xxx,&nbsp;&nbsp;&nbsp;&nbsp;description:&nbsp;xxxx, &nbsp;&nbsp;&nbsp;&nbsp;follow:&nbsp;["uid1":&nbsp;{'name':&nbsp;'xxx',&nbsp;'description':&nbsp;'desc1'},"uid2":&nbsp;{'name':&nbsp;'zzz',&nbsp;'description':&nbsp;'desc2'},...] }或者你使用二次查询,在代码里面再查一次db.User.find({'uid':{'$in':&nbsp;[uid1,&nbsp;uid2,&nbsp;uid3]}});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MongoDB