【问题标题】:Mongo Call does not remove parametersMongo Call 不移除参数
【发布时间】:2020-11-01 10:41:55
【问题描述】:

我正在使用带有 mongo 的节点,我希望 mongo get 调用停止返回一些值,例如 _id 和 uid。我读到的所有内容都表明这个调用应该可以工作,但是当我在我的 UI 上打印 json 值时,它仍然具有这些值。

app.get('/users', async function(req, res){
    console.log("Getting User Info!");

    await client.connect();
    const db = client.db('database');
    var uidparam = req.header("uid");
    
    db.collection("users").findOne({"uid": uidparam}, { _id: 0, uid: 0, }, function(err, result) {
        if (err) throw err;
        res.send(result);
      });
});

我也试过

{ "_id": false, "uid": false, }

和

{ _id: false, uid: false, }

和

{ '_id': 0, 'uid': 0, }

【问题讨论】:

    标签: node.js mongodb express


    【解决方案1】:

    随着 Node 的 this example 一起,您似乎需要为选项文档指定一个 projection 字段。它看起来像这样:

    {
      projection: {
        _id: 0,
        uid: 0
      }
    }
    

    【讨论】:

    • 是的,就是这样!不知道为什么,我在文档的其他部分没有看到它
    • 您可以找到指向 MongoDB 节点驱动程序 here 的文档的链接。 API 链接对于查找可以传递给函数的参数尤其有用。 @EugeneRozental
    猜你喜欢
    • 2020-12-12
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 2017-03-22
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    相关资源
    最近更新 更多