gpt4 book ai didi

json - MongoDB 查找嵌套元素

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

我正在使用 MongoDB shell,我需要找到一些嵌套元素。我的结构如下所示:

 car : { "$ref" : "cars" , "$id" : { "$oid" : "4e8478ace4b0dea06288ad63"}}

我需要到达 oid = 4e8478ace4b0dea06288ad63

提前致谢

结构如下:

{ "_id" : { "$oid" : "4e7c6b68e4b0dea06288ad22"} , 
"driver" : "Test Driver" ,
"category" : "BUSINESS" ,
"distanceM" : 216.857 ,
"mileageKmStart" : 121813.943 ,
"mileageKmEnd" : 122030.8 ,
"timestampStart" : { "$date" : "2012-01-12T11:20:08Z"} ,
"timestampEnd" : { "$date" : "2012-01-12T11:21:11Z"} ,
"car" : {
"$ref" : "cars" ,
"$id" : { "$oid" : "4e8478ace4b0dea06288ad63"}
}
}

最佳答案

经过小小的挖掘......

mongoexport 将对象 ID 表示为“$oid”。您正在读取 mongoexport 生成的 json 文件吗?如果是这样,那不是导入时文档的结构(或者是,但是当您使用客户端与 mongo 对话时,它不希望您使用这种语法)。

几乎可以肯定,您想要:

db.x.find({'car.$id': ObjectId('4e8478ace4b0dea06288ad63')})

如果不是这种情况 - 查看 mongo cli - 例如运行:

db.x.findOne()

db.x.findOne({'car' : {$exists: true}}) // make sure the one I find has a car

如果您设法使用非法 key 创建/继承数据 - 您可能想要迁移它们的结构,以便可以查询您的数据。


DBRefs是关于如何创建对不同集合的引用的约定——特别注意“约定”。它们在任何方面都不是特别的(除了它们被允许使用键 $ref、$id 和 $db)——它们只是 mongo 的另一个 javascript 对象。

关于json - MongoDB 查找嵌套元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8983482/

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