node.js - 使用动态查询在 Node 中使用 Mongoose 更新多条记录

标签 node.js mongodb mongoose

我已经浏览了以下答案:- update multiple records using mongoosejs in node

Update multiple docs with different values

但就我而言,我的查询是动态的,意味着我需要动态查询 基于对象, 我也不确定 forEach 是否是一个错误的解决方案 有没有更好的替代方案,因为每次都花费太多时间。

     req.body.forEach(function (obj) {
    myModel.find(
        {
            country: obj.country,
            product: obj.product,
            month: parseInt(obj.month),

        }
    ).update({
            $set: {
                value: parseInt(obj.value),
                'lastmodified': Date.now()
            }
        },
        { upsert: true},
        function (err) {
            //callback();
            if (err) {
                return res.status(500).send(err);
            }
            return res.status(200);
        }
    );

最佳答案

不知道这是否有帮助,但看起来您不确定是否要解析 req.body 来查找文档。这只是伪代码。也许它会给你一个想法。

app.put("/post", function(req, res){
    myModel.find({
        country : req.body.country,
        product : req.body.product,
        month : parseInt(req.body.month)
    })
    myModel.save(function(err, results){
        if(err) console.log(err);
        console.log(results)
        res.send(results)
    })
})

关于node.js - 使用动态查询在 Node 中使用 Mongoose 更新多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36710518/

相关文章:

node.js - 错误:尝试启动 Nodejs 服务器时监听 EADDRINUSE:::443 错误

mysql - 嗨,我正在工作 Node/express.js 项目,Sequelize 作为 ORM 和 MySQL 作为 DB。谁能知道PLZ是如何固定的

javascript - 为什么在 node.js v4.0.0 中弃用了许多 util.is* 函数?

c# - 使用 FSharp 获取有关 MongoDB 集合的一般信息

node.js - $dateToString 和 $subString 没有显示正确的日期

unix - 构建可以在 node.js 中传输的程序

node.js - 如何在 MongoDB 上为部分文本搜索创建索引?

javascript - 无效传输,必须是具有日志方法的对象 winston mongodb logging

javascript - Mongoose 在使用 import 语法时未定义,而在使用 require 时未定义

mongodb:查询数组的计数/大小