我正在使用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
所选集合对象上的访问器访问基础节点本机驱动程序集合类型:
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
来重新塑造您的文档.