2

これが私のmongodbドキュメントです:

{ "FRIENDS" : [     
    { "LOC" : "13.039064033333332,77.5547927", "NAME" : "A1", "PHONE_NUMBER" : "817361155" } ],
 "MYID" : "349512956", 
"MYLOCATION" : "13.0389541,77.5549799", 
"OCCASION" : "cafe", 
"_id" : ObjectId("503d87150f43159357000001"), 
"average" : "13.0389541,77.5549799" }

これが私のクエリです

> db.test_collection.find({"MYID":"349512956"},{"FRIENDS.PHONE_NUMBER":"817361155"});

そして出力

{ "FRIENDS" : [ { "PHONE_NUMBER" : "817361155" } ], "_id" : ObjectId("503d87150f43159357000001") }

ただし、友人のドキュメント全体を結果に含めたいと思います。LOC、NAME、PHONE_NUMBER。これらを入手するにはどうすればよいですか?どんな助けでも大歓迎です。モノゴのドキュメントを検索していますが、答えが見つかりません。

4

2 に答える 2

3

これを試して

// i.e., select * from things where MYID=somethig and PHONE_NUMBER="foo"
db.test_collection.find({"MYID":"349512956", "FRIENDS.PHONE_NUMBER":"817361155"});
于 2012-08-31T12:47:04.683 に答える
0

具体的には、2番目の引数で出力するフィールドを選択します。以下の実際の実装を参照してください。

> db.test_collection.find
function (query, fields, limit, skip, batchSize, options) {
    return new DBQuery(this._mongo, this._db, this, this._fullName, 
           this._massageObject(query), fields, limit, skip, batchSize, options || 
           this.getQueryOptions());
}
于 2012-08-31T13:31:09.967 に答える