我正在使用nodejs查询mongodb,想输出带有自定义字段名的json。
例如,来自 MongoDB 的原始 json 可能
{id:1, text:"abc"}
我想把它输出为
{ObjectID:1, DisplayText:"abc"};
我知道 MongoDB 在其聚合框架中有 $project 运算符,但不确定如何在 NodeJS 中使用它们。
我使用的mongodb nodejs包是
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('server:port/mydb');
感谢对此的任何建议。
最佳答案
如果您像看起来那样使用 monk,那么您可以通过所选集合对象上的 .col
访问器访问底层 Node native 驱动程序集合类型:
var db = require('monk')('localhost/test')
, collection = db.get('example');
collection.col.aggregate(
[
{ "$project": {
"_id": 0,
"ObjectID": "$_id",
"DisplayText": "$text"
}}
],
function(err,result) {
console.log( JSON.stringify( result, undefined, 4 ) );
}
);
请注意,.aggregate()
等方法以这种方式检索的对象不像标准的 monk 集合对象那样包装在 promise 对象中。但至少这向您展示了如何访问和使用 $project
reshape 您的文档。
关于javascript - 在NodeJS中,如何从不同字段名的mongodb输出结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23951123/