gpt4 book ai didi

node.js,mongoose如何通过多个ID在对象数组中查找

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:29 25 4
gpt4 key购买 nike

我将 Node.js 与 Mongoose 模块一起使用,但遇到了问题。

我有一个架构模型,如下所示:

_id: '',
foo: '',
bar: '',
fb: [{
id: ''
}]

如何查找集合中匹配 fb[0].id 并传入 ID 数组的所有对象?

我已经尝试过这个(带有以下查询的 find() 方法):

{'fb[0].id': {$in: friendsIDList}}

还有这个:

{'fb': {$in: [{id: friendsIDList}]} }

甚至这个

{'fb': {$in: {$in: friendsIDList}}}

更清楚地说,我有一个用户对象,其中包含 fb 参数中的 FB 数据,但它是一个仅包含一个带有数据的对象的数组。现在我收到一个好友ID列表,想查询所有用户好友。

最佳答案

MongoDB 有一个名为 dot notation 的东西,因此您可以使用 'foo.0.id': 'id' 进行查询。

测试如下:

> 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"
}
]
}

关于node.js,mongoose如何通过多个ID在对象数组中查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21724492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com