у меня есть коллекция, которая хранит данные в этом формате:Как отформатировать результат запроса поиска mongodb?
{
_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"
}
}
Как я могу улучшить запрос поиска, чтобы вернуть ожидаемый формат?
Большое спасибо заранее для тех, кто будет помогать мне ;-)
P.S. здесь я использую оболочку mongo для извлечения данных, но мне нужно, чтобы этот запрос работал с node.js с node-mongodb-native.
Я предлагаю вам подумать о том, чтобы сделать эту занятую работу на клиенте (в NodeJS), вместо того, чтобы сервер БД выполнять дополнительную работу по проектированию данных в другом формате. – WiredPrairie