【问题标题】:Mongodb find() with conditions doesn't work带有条件的MongoDB find() 不起作用
【发布时间】:2021-06-11 15:31:31
【问题描述】:

我在一个集合中有多个文档,我想获取所有具有特定字段值的文档。

mongoClient.connect(serverUrl, { useUnifiedTopology: true }, function (err, client) {
                    if (err) throw err;
                    var db = client.db(useDB);

                    let arrayFind = [];
                    let var1 = 'id12345';
                    var cursor = db.collection('somecoll').find({},{"targetField":var1});
                    cursor.forEach(function (result) {
                        arrayFind.push(result);
                    }, function (error) { 
                        console.log(error);
                        console.log(arratFind);
                 });
});

但是 arrayFind 没有被过滤,我有我收藏的所有文档。我如何将所有文档放在一个数组中?我需要用javascript再次过滤吗?

【问题讨论】:

    标签: node.js arrays database mongodb


    【解决方案1】:
     db.collection('somecoll').find({},{"targetField":var1})
    

    需要成为:

      db.collection('somecoll').find({"targetField":var1})
    

    【讨论】:

      【解决方案2】:

      正如@R2D2 指出的那样,查询是错误的。 还有,

      db.collection.find()
      

      返回一个数组结果。为什么又要推入一个数组呢?

      【讨论】:

      • 因为我认为数据已添加到“光标”中,您需要在其中进行迭代。
      猜你喜欢
      • 2016-09-30
      • 2022-11-28
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 2020-07-11
      • 2016-11-11
      • 1970-01-01
      • 2011-10-13
      相关资源
      最近更新 更多