Mongoose更新不更新文档

时间:2016-02-13 16:20:36

标签: node.js mongodb mongoose

我正在尝试通过Mongoose更新MongoDB中的文档,但由于某种原因无法找到所请求的文档...

data.call._id

_id包含有效文档approvedNumber类型为response

{ ok: 1, nModified: 0, n: 0, lastOp: { _bsontype: 'Timestamp', low_: 0, high_: 0 }, electionId: 56a92375bfb5c1abc4e825a7 } 输出以下内容:

value

该文档永远不会在数据库中更新... 1将根据较早的条件设置为-1const callSchema = new Schema({ start: Date, duration: String, callerNumber: String, callerNumberAreaCode: String, trackingNumber: String, destinationNumber: String, answered: String, customerId: String, approved: Number }, { collection: 'calls'}); const Call = mongoose.model('Call', callSchema);

型号:

int main()
{

    int j;

    for(int i=0;i<10;i++)
    {
        j=i;
        cout<<j;
    }


}

2 个答案:

答案 0 :(得分:0)

Model.update中,您无需使用$set。试试这个:

Call.update({_id: data.call._id}, { approved: value }, function (error, response) {
    console.log(error);
    console.log(response);
    if (error) {
        callback(error, null);
    } else {
        callback(null, response);
    }
});

答案 1 :(得分:0)

希望这可以帮助某人。

请确保您的Scheme中的FIELD与$set子句中的FIELD完全正确。

例如:

如果您的更新是(设置address字段):

User.update({_id: mongoose.Types.ObjectId("<doc_id>")}, { $set: { address: "New York" }}, function (err, res) {
    if (err) {
        console.log("err:", err)
    } else {
        console.log("success with response:", res)
    }
})

您的方案必须包含address字段,例如:

let User = new mongoose.Scheme({
    name: String,
    address: String
})

感谢阅读。