2

mongodbから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/ReduceまたはAggregation フレームワークを使用できます。

Ian Daniel は、あなたが尋ねたネストされたドキュメントを挿入するコードを追加します。このページにアクセスして、詳細な例を確認することもできます。

于 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 に答える