0
我有以下代碼可以找到所有包含輸入電子郵件地址的成員的項目。它的想法是搜索[email protected](作爲示例)並將其更改爲其輸入的名稱。問題修改並保存數組中的值
代碼
Project.find({ _members: req.body.email }, function(err, projects) {
for (var i = 0, len = projects.length; i < len; i++) {
for (var x = 0, lent = projects[i]._members.length; x < lent; x++) {
if (projects[i]._members[x] == ["NF" + req.body.email]) {
console.log("FOUND MATCH")
projects[i]._members[x].value = req.body.alias
projects[i].save()
}
}
}
控制檯日誌告訴我,比賽已經找到了,但是值永遠不會在陣列中更新。我想知道是否有正確的方法來改變數組中的值而不是僅僅使用=運算符。或者我沒有正確保存文檔?
示例項目文件
"_id" : ObjectId("5546"),
"name" : "Test project",
"description" : "This is a sample description",
"archived" : false,
"admins" : [
"[email protected]"
],
"_members" : [
"[email protected]",
"[email protected]"
],
"updated" : ISODate("2015=05=04T04:52:22:787Z")
的想法是用一個名字來更新[email protected]。這個名字來自req.body.alias。
控制檯告訴我找到了匹配,並且沒有發生錯誤,但是沒有進行更新。
你能至少向我們展示一些樣本文檔和預期的輸出? – chridam