作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 mongoDB 的新手。我在网络应用程序中使用 mongoDB。
我想知道如何获取文档的内部文档属性的值。
假设我的 JSON 是这样的,
{ "_id" : { "$oid" : "4ceb753a70fdf877ef5113ca"}, "Attrr1" : "value1", "Attr2": {"innerAttr1":"innerValue1", "innerAttr2":"innerValue2"}, "Attr3" : { "innerAttr3" : "innerValue3", "innerAttr4" : "innerValue4"} }
对于上面的 json,如何获取 innerValue1
以及 innerValue1
和 innerValue2
。
我试过了,但它对我不起作用!!!
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/
我是一名优秀的程序员,十分优秀!