0

モンゴへの私の最初の冒険。次のように答えて、時間を節約してください。これがスキーマです。

"_id" : 1,
  "FullName" : "Full Name",
  "Email" : "email@email.com",
  "FacebookId" : NumberLong(0),
  "LastModified" : ISODate("2012-04-11T09:26:10.955Z"),
  "Connections" : [{
      "_id" : 7,
      "FullName" : "Fuller name",
      "Email" : "connections@email.com",
      "FacebookId" : NumberLong(0),
      "LastModified" : ISODate("0001-01-01T00:00:00Z")
    },

  ....

単一のトップユーザーのIDを指定して、Connections配列内のすべての電子メール、できれば電子メールのみを返したいと思います。クエリ文字列は何ですか?とても感謝しております!

4

1 に答える 1

1

MongoDBのサブオブジェクトから値のみを取得することはできません。

このようなクエリを実行する場合:

db.test.find({"_id": 1}, {"Connections.Email":1});

この種の応答が得られます:

{ 
  "_id": 1, 
  "Connections" : [ {"Email":"connections@email.com"}, 
                    {"Email":"foo@example.com"} ] 
}

これは、MongoDBからの単純なクエリとフィールド選択で取得できる最も近いものです。

次に、単純なを使用して、コード内の電子メール値を除外できますforeach

于 2012-04-11T17:48:59.863 に答える