【问题标题】:mongodb/node - update separate collection from a cursor - Promise conditionmongodb/node - 从游标更新单独的集合 - 承诺条件
【发布时间】:2016-01-09 16:32:31
【问题描述】:

我有两个销售数据集合 - 一个针对城市,一个针对这些城市中的城镇。我只有城镇级别的销售数据(按月),现在想添加一个新的 city.total sales 字段,该字段将是每个城市内城镇的这些销售额的总和。

我正在使用节点来运行脚本。

  1. 在 Towns 集合(聚合)上设置光标,以对城镇级别的所有销售进行分组。这很好用。
  2. 遍历光标,为每个城镇找到城市并将值添加到 city.total_sales。

示例代码:

cursor.each(function(err, doc) {
    assert.equal(err, null);
    if (doc != null) {
        // debug - lets  just find an example row to update
        var city_row = db.collection('city').findOne( { "city": "Liverpool" }     
)
        console.log(city_row);
    } else {
        callback();
    }
});

我看到的问题 - 控制台显示“Promise { }”

这是作为批处理运行的 - 目前并不太关心性能 - 我需要做什么才能让代码等待查找,而不是异步操作?

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    将所有 findOne 查询放入 Promise 数组,然后使用 Promise.all()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-16
      • 1970-01-01
      • 2015-03-17
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多