0

私はmongodbが初めてで、次のようなJSONがあります:

{
    "first_name" : "John",
    "last_name"  : "Smith",
    "address" : {
        "street" : "123 Main Street",
        "city"   : "Anytown",
        "state"  : "NY"
   }
}

ここで、"street" = "123" (たとえば) であるすべてのドキュメントを検索したいと考えています。mongo シェルでは、次のように実行します。

db.collection_name.find(
  {
    'address.street' : '123'
  }
)

Java で "firstname" = "John" のドキュメントを見つけたい場合は、次のようにします。

BasicDBObject nameQuery = new BasicDBObject();
nameQuery.put("firstname", "John");
DBCursor cursor = collection.find(nameQuery);

address.street がわかりません。何か試してみましたが、うまくいきませんでした。

私はこれを試しました:

addressQuery.put("address.street", "123");
4

1 に答える 1

0

あなたが提案するものはうまくいくはずです。これは私のために働く:

DBCollection coll = db.getCollection(...);
DBCursor cursor = coll.find(new BasicDBObject("address.street", "123 Main Street"));
while (cursor.hasNext()) {
    System.out.println(cursor.next()); //prints the object
}
于 2013-06-27T14:38:44.103 に答える