2

我想通过来自 mongodb.from 一个简单文档的 java 查询访问嵌入式文档,这很容易,但是我们如何从嵌入式文档访问?

4

2 回答 2

8

如果我理解正确,您可以在下面找到您的问题的答案。

假设您有以下嵌套文档。

{ "key1" : "value1",
  "key2" : {
             "key21" : "value21",
             "key22" : "value22"
           }
}

如果您要对嵌套文档进行查询,则可以使用以下 java 代码访问嵌入对象。

DBCollection coll = db.getCollection("collectionName");
BasicDBObject query = new BasicDBObject();
query.put("key2.key21", new BasicDBObject("$eq", "value21"));
DBCursor cur = coll.find(query);

如果您的意思是从文档中提取嵌入的文档,那么您可以使用Map/ReduceAggregation 框架。

伊恩丹尼尔仍然添加了代码以插入您要求的嵌套文档。您还可以访问页面以查看一些详细示例。

于 2012-07-15T12:24:08.967 回答
4

下面的 Java 代码将插入表单的文档{ID:23 {Name:{"FirstName": "Ahmad", "SecondName":"Khan"}}

Mongo mongo = new Mongo();
DB db = mongo.getDB("test");
DBCollection people = db.getCollection("people");

BasicDBObject name = new BasicDBObject();
name.put("FirstName", "Ahmad");
name.put("LastName", "Khan");

BasicDBObject person = new BasicDBObject();
person.put("ID", 23);
person.put("Name", name);

people.insert(person);
于 2012-07-16T04:52:53.650 回答