gpt4 book ai didi

java - 如何在 mongoDB 中获取内部文档属性的值?

转载 作者:可可西里 更新时间:2023-11-01 09:47:20 26 4
gpt4 key购买 nike

我是 mongoDB 的新手。我在网络应用程序中使用 mongoDB。

我想知道如何获取文档的内部文档属性的值。

假设我的 JSON 是这样的,

{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113ca"}, "Attrr1" : "value1", "Attr2": {"innerAttr1":"innerValue1", "innerAttr2":"innerValue2"}, "Attr3" : { "innerAttr3" : "innerValue3", "innerAttr4" : "innerValue4"} }

对于上面的 json,如何获取 innerValue1 以及 innerValue1innerValue2

我试过了,但它对我不起作用!!!

BasicDBObject innerQuery = new BasicDBObject();
field.put("Attr2.innerAttr1", 1);

如有任何建议,我们将不胜感激!!!

谢谢

最佳答案

我不明白你的意思。您需要在某些文档中获取值或设置或添加到集合中?

据我了解,您在 Java 中使用了一些用于 mongo 数据库的驱动程序。我对 java 的 mongo 驱动程序没有经验。但我知道如何在驱动程序或 C# 中执行此操作:

在 c# mongo 驱动程序中更新集合中的内部属性,您需要执行以下操作:

var query = Query.Eq("_id", documentId);
var update = Update.Set("Attr2.innerAttr1",1);

MongoDb.Database.GetCollection("collectionName").Update(query, update);

如果从上面的代码中查询返回一个文档 - Attr2 集合中的 innerAttr1 属性将被更新。如果我知道查询返回多个文档并且我需要更新多个文档我使用这样的代码:

MongoDb.Database.GetCollection("collectionName").Update(query, update, UpdateFlag.Multi);

我相信 java 的 mongo 驱动程序中的逻辑相同。

希望这对您有所帮助。

关于java - 如何在 mongoDB 中获取内部文档属性的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4263730/

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