Node.js 对象内部数组的Collection.find()
我有一个Meteor应用程序,它有一组聊天组。此集合中的每个文档如下所示:Node.js 对象内部数组的Collection.find(),node.js,mongodb,meteor,mongoose,Node.js,Mongodb,Meteor,Mongoose,我有一个Meteor应用程序,它有一组聊天组。此集合中的每个文档如下所示: {groupname:'name',白名单:['person1','person2','person3'],消息:['message1','message2','message3']} 要向每个拥有帐户的人显示他们所属的组,我需要一个页面,其中包含允许他们加入的组的列表。如何使用find()命令返回其白名单数组包含用户名的所有文档?类似以下内容: ChatGroups.find({whitelist: Meteor.us
{groupname:'name',白名单:['person1','person2','person3'],消息:['message1','message2','message3']}
要向每个拥有帐户的人显示他们所属的组,我需要一个页面,其中包含允许他们加入的组的列表。如何使用find()命令返回其白名单数组包含用户名的所有文档?类似以下内容:
ChatGroups.find({whitelist: Meteor.user().username});
这假定
username
是要匹配的属性。在这种情况下,您无需执行任何特殊操作即可在数组中搜索-mongo将执行正确的操作(将用户名
与每个白名单
的每个元素进行比较,并返回匹配的文档)。要按数组项在MongoDB中搜索,请使用$in
运算符:
ChatGroups.find({
whitelist: {
$in: [Meteor.user()._id]
}
});
参考资料:对象必须是嵌入文档还是仍然可以是数组?您能举个例子吗?我不太明白你的意思。我认为仅仅阅读的文档将是有用的-它涵盖了很多用例。