javascript - 在NodeJS中,如何从不同字段名的mongodb输出结果?

标签 javascript node.js mongodb aggregation-framework monk

我正在使用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/

相关文章:

database - 适用于 Windows 的任何 node.js 关系数据库绑定(bind)?

javascript - 未能成功更新 Mongoose 子文档

javascript - 使用 Node.JS 构建的多人 JavaScript 游戏 - 分隔玩家

node.js - node_modules 打包失败(Webpack 或 Browserify)

javascript - 防止单击按钮时出现多个排队的 POST

node.js - 通过单独的服务器提供静态文件

mongodb - MongoDB中,如何使用聚合框架,文档少

android - 从高层次来看,实现从数据库读取锻炼的健身应用程序的最佳方法是什么?

javascript - 使用 json 进行组合选择

javascript - 将图像保存到硬盘