node.js,mongoose如何在多个ID中查找对象数组
我正在使用Mongoose模块的Node.js并遇到了一个问题。
我有一个Schema,这个模型看起来像这样
_id: '', foo: '', bar: '', fb: [{ id: '' }]
我如何find匹配fb [0] .id加传递一个ID数组中的集合中的所有对象?
这我已经尝试(find()方法与以下查询):
{'fb[0].id': {$in: friendsIDList}}
和这个:
{'fb': {$in: [{id: friendsIDList}]} }
甚至这个
{'fb': {$in: {$in: friendsIDList}}}
更清楚的是,我有一个用户对象,其中包含FB数据fb参数,但它是一个数组只包含一个对象。 现在我recive一个朋友ID列表,并希望查询所有的用户朋友。
对不起,我的英语btw。
MongoDB有一个叫点符号的东西,所以你可以用'foo.0.id': 'id'
查询'foo.0.id': 'id'
。
testing如下:
> db.users.insert({foo: 'foo', bar: 'bar', fb: [ { id: '456' } ]}) > db.users.find({'fb.0.id': '456'}).pretty() { "_id" : ObjectId("52fb695e403fb143985459dc"), "foo" : "foo", "bar" : "bar", "fb" : [ { "id" : "456" } ] }