私はこの形式でデータを保存しているコレクションを持っています:
{
_id: ObjectId("51b9be6dbbdeef1e5f008cca"),
name: 'sfdsfsdfsdfsdfsd'
details: {
varA: {
created: "2013-06-13T12:43:25.853Z",
validity: "2013-07-13T12:43:25.853Z",
modified: "2013-06-13T12:43:25.853Z"
},
varB: {
created: "2013-06-13T12:43:25.853Z",
validity: "2013-07-13T12:43:25.853Z",
modified: "2013-06-13T12:43:25.853Z"
}
}
}
この形式のvarAデータのみを公開できるようにしたいと思います(ネストされた深さはありません...):
{
_id: ObjectId("51b9be6dbbdeef1e5f008cca"),
name: 'sfdsfsdfsdfsdfsd',
created: "2013-06-13T12:43:25.853Z",
validity: "2013-07-13T12:43:25.853Z",
modified: "2013-06-13T12:43:25.853Z"
}
残念ながら、私のクエリ(投影を使用している場合):
db.coll.find({}, {'details.varB': 0})
次のようなものを返します:
{
_id: ObjectId("51b9be6dbbdeef1e5f008cca"),
name: 'sfdsfsdfsdfsdfsd',
details: {
varA: {
created: "2013-06-13T12:43:25.853Z",
validity: "2013-07-13T12:43:25.853Z",
modified: "2013-06-13T12:43:25.853Z"
}
}
検索クエリを改善して、期待される形式を返すにはどうすればよいですか?
私を助けてくれる人たちに前もって感謝します;-)
PS ここでは、mongo シェルを使用してデータを取得していますが、このクエリを node-mongodb-native を使用して node.js で動作させる必要があります。