Mongo数据库更新查询抛出错误

时间:2017-04-07 12:52:56

标签: mongodb

我一直在尝试更新使用更新查询提交的文件,但它已经抛出错误,请帮忙。

Query:
    db.dumpbasiccompany.update(
    db.dumpbasiccompany.aggregate([{ $lookup: { from: "basiccompany", localField: "CompanyName",  foreignField: "CompanyName", as: "inventory_docs"}},{ $project : {"_id":1 } } ]),
    { $set:{ flag: 1 } }) 

    Error:
    WriteResult({
            "nMatched" : 0,
            "nUpserted" : 0,
            "nModified" : 0,
            "writeError" : {
                    "code" : 2,
                    "errmsg" : "cannot compare to undefined"
            }
    })

我是mongo db的新人,所以我对此不确定,请验证我的查询。

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码:

db.basiccompany.find().forEach(
    function(doc) {
        var check = false;
        data = db.dumpbasiccompany.find({
            CompanyName: doc.CompanyName
        }).forEach(function(mydoc) {
            if (mydoc != null) {
                check = true;
            }
        })
        if (check == true) {
            db.basiccompany.update({
                _id: doc._id
            }, {
                $set: {
                    flag: 1
                }
            });
        }
    });