2016-02-13 155 views
0

我想在通過我的貓鼬的MongoDB但由於某種原因所要求的文件無法找到更新的文件...貓鼬更新不更新文件

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

data.call._id包含一個有效的文件_idapproved是類型爲Number

response輸出以下:

{ ok: 1, nModified: 0, n: 0, lastOp: { _bsontype: 'Timestamp', low_: 0, high_: 0 }, electionId: 56a92375bfb5c1abc4e825a7 } 

該文件從來沒有在數據庫中更新...... value要麼被設置爲1-1根據先前的狀態。

型號:

const 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); 

回答

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); 
    } 
}); 
+0

在數據庫中找到文檔存在問題。我用'findOne()'方法取代了這個方法,並且這個函數的響應是空的,即使試圖找到的文檔存在於數據庫中。 – leaksterrr

+0

用'findOne(_id:ObjectId(data.call._id))'和'const ObjectId = mongoose.Types.ObjectId; ' – Festo

+0

'null'仍然被退回 – leaksterrr