如何在 monk nodejs 中使用 mongodb 查询选项

how to use mongodb query option in monk nodejs

我有一个 collection 名称 projects,我正在尝试检索除 url 之外的所有内容,就像这个查询

db.projects.find({name:"arisha"},{url:0}).pretty()

此查询运行良好并返回除 url 之外的所有内容,但我的问题是如何在 Node module 对于 MongoDB 姓名 monk

我正在使用此代码,但它不起作用并返回每个字段:

var projs = db.get('projects');
projs.find({creator : req.session.user._id},{url:0}, function (err,data) {
    console.log(data);                                                    
    if(!err) {                                                            
        res.locals.projs = data;
        console.log(data);                                          
        res.render("projects.ejs",{title: "Projects | Bridge"});          
    }                                                                     
});     

我没弄明白问题出在哪里,请帮助并提前致谢:)

示例文档:

{
    "name" : "arisha",
    "date" : {
        "day" : 18,
        "month" : 4,
        "year" : 2015
    },
    "creator" : "552edb6f8617322203701ad1",
    "url" : "EyjPdYoW",
    "members" : [
        "552edb6f8617322203701ad1"
    ],
    "_id" : ObjectId("5532994ba8ffdca31258bd1a")
}

排除monk, try the following syntax中的url字段:

var db = require('monk')('localhost/mydb');
var projs = db.get('projects');

projs.find({ creator : req.session.user._id }, "-url", function (err, data) {
  // exclude url field
});

编辑:

要排除多个字段,请使用以下投影语法:

projs.find({ creator : req.session.user._id }, { fields: { url: 0, creator: 0 } }, function(err, data) {      
   // exclude the fields url and creator
});

或者(如您所见),您也可以:

projs.find({ creator : req.session.user._id }, "-url -creator", function (err, data) {
      // exclude url and creator fields
});