gpt4 book ai didi

javascript - MongoDb Node.js 查询嵌套对象不起作用?

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

我需要使用 mongodb 的 node.js 驱动程序查询 2 个动态属性。

数据结构如下:

{
"_id":"123456",
"dateAdded":"2017-09-20T08:36:40.325Z",
"followers":{
"name1":{
"followedOn":"2017-09-20T08:36:40.325Z",
"unfollowedOn":null
},
"name2":{
"followedOn":"2017-09-20T08:36:40.325Z",
"unfollowedOn":null
}
}
}

这是我的代码:

//Working but not dynamic
collections.find({ '_id': '123456', 'followers.name1': { $exists: false } })

//My failed attempt at making it dynamic
const id = "123456"
const username = "name1"

let query = {}
query['followers.'+username] = { $exists: true }

collections.find( { "_id": id, query }

请注意,这不是“如何在对象文字中创建动态键”的重复。 Node.js mongodb 驱动程序的 .find() 方法不接受对象文字。我找不到它确切接受的文档。

最佳答案

您的 _id 属性需要位于查询对象内,而不是单独的。

具体操作方法如下:

let query = { _id: id };
query['followers.'+username] = { $exists: true }

collections.find(query);

关于javascript - MongoDb Node.js 查询嵌套对象不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46327403/

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