【发布时间】:2013-06-09 22:43:08
【问题描述】:
我有一个以这种格式存储数据的集合:
{
_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"
}
}
如何改进查找查询以返回预期格式?
非常感谢那些会帮助我的人;-)
附:这里我使用 mongo shell 来检索数据,但我需要让这个查询与 node.js 和 node-mongodb-native 一起工作。
【问题讨论】:
-
我建议你考虑在客户端(在 NodeJS 中)做那些忙碌的工作,而不是让数据库服务器做额外的工作来以不同的格式投影数据。
标签: mongodb node-mongodb-native