gpt4 book ai didi

json - MongoDB 在嵌套对象 KEY (JSON) 上查找键

转载 作者:可可西里 更新时间:2023-11-01 09:58:50 24 4
gpt4 key购买 nike

非常新,对 MongoDB 完全没有受过教育。

具有此 JSON 结构:

{
"id": "123456",
"makes": {
"abc": {
"att1": 4,
"att2": "fffff",
"att3": 46
},
"fgh": {
"att1": 8,
"att2": "ggggg",
"att3": 6
},
"rty": {
"att1": 3,
"att2": "hhhh",
"att3": 4
},
"iop": {
"att1": 4,
"att2": "llll",
"att3": 3
}
}

如何在数据库中查询“fgh”make?我试过:

db.<myCollection>.find({"makes":"fgh"})

但这行不通。如果我写,它工作正常:

db.<myCollection>.find({"makes.fgh.att1":8})

提前致谢!

最佳答案

当您尝试查询 makes.fgh 时,您查询的不是内容,而是结构,因为“fgh”不是一个值,而是一个子文档。

您可以通过 $exists 搜索实现此目的:

db.myCollection.find( { "makes.fgh" : { $exists : true } })

参见 https://docs.mongodb.com/manual/reference/operator/query/exists/供引用。

整合@chridam 的有用评论:

如果您只对那个子文档感兴趣,您还可以在查找中添加一个投影:

db.myCollection.find({ "makes.fgh" : { $exists : true }}, { "makes.fgh" : 1 })

看看https://docs.mongodb.com/manual/reference/method/db.collection.find/#db.collection.find了解详情。

关于json - MongoDB 在嵌套对象 KEY (JSON) 上查找键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39018389/

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