Node.js I';我想更新mongodb中嵌套数组中的字段
这是我的文件:Node.js I';我想更新mongodb中嵌套数组中的字段,node.js,mongodb,Node.js,Mongodb,这是我的文件: { "_id": { "$oid": "5eb5f0a9d985888edb0523b0" }, "subs": [{ "name": "list1", "count": "0" }, { "name": "list2", "count": "0" }, { "name": "list3", "count": "0" }, { "name": "list4", "count": "0" }] } 我目前正在
{
"_id": {
"$oid": "5eb5f0a9d985888edb0523b0"
},
"subs": [{
"name": "list1",
"count": "0"
}, {
"name": "list2",
"count": "0"
}, {
"name": "list3",
"count": "0"
}, {
"name": "list4",
"count": "0"
}]
}
我目前正在使用mongojs。例如,我希望能够找到“list2”并增加与之相关的计数。我已经试了一整天了,但似乎还没弄明白
任何帮助或指导都将不胜感激 我希望这会对你有所帮助。我已经使用编程方法来解决您的问题
let payload = {
"_id": {
"$oid": "5eb5f0a9d985888edb0523b0"
},
"subs": [{
"name": "list1",
"count": "0"
}, {
"name": "list2",
"count": "0"
}, {
"name": "list3",
"count": "0"
}, {
"name": "list4",
"count": "0"
}]
}
let fields = ["list2","list4"];
fields.forEach((element)=>{
for(let i=0; i<payload.subs.length; i++){
if(element===payload.subs[i]["name"]){
let value = parseInt(payload.subs[i]["count"]);
payload.subs[i]["count"] = (++value).toString();
}
}
})
console.log(payload.subs)
let有效载荷={
“_id”:{
$oid:“5eb5f0a9d985888edb0523b0”
},
“潜艇”:[{
“名称”:“列表1”,
“计数”:“0”
}, {
“名称”:“列表2”,
“计数”:“0”
}, {
“名称”:“列表3”,
“计数”:“0”
}, {
“名称”:“列表4”,
“计数”:“0”
}]
}
让字段=[“列表2”,“列表4”];
fields.forEach((元素)=>{
对于(让i=0;i我希望这将对您有所帮助。我已经使用编程方法来解决您的问题
let payload = {
"_id": {
"$oid": "5eb5f0a9d985888edb0523b0"
},
"subs": [{
"name": "list1",
"count": "0"
}, {
"name": "list2",
"count": "0"
}, {
"name": "list3",
"count": "0"
}, {
"name": "list4",
"count": "0"
}]
}
let fields = ["list2","list4"];
fields.forEach((element)=>{
for(let i=0; i<payload.subs.length; i++){
if(element===payload.subs[i]["name"]){
let value = parseInt(payload.subs[i]["count"]);
payload.subs[i]["count"] = (++value).toString();
}
}
})
console.log(payload.subs)
let有效载荷={
“_id”:{
$oid:“5eb5f0a9d985888edb0523b0”
},
“潜艇”:[{
“名称”:“列表1”,
“计数”:“0”
}, {
“名称”:“列表2”,
“计数”:“0”
}, {
“名称”:“列表3”,
“计数”:“0”
}, {
“名称”:“列表4”,
“计数”:“0”
}]
}
让字段=[“列表2”,“列表4”];
fields.forEach((元素)=>{
for(设i=0;i
答案不是基于mongojs,但下面的语法应该可以帮助您
db.collection.updateOne(({"subs.name":"list2"},{$inc:{"subs.$.count":1}})
确保您的计数是int32
而不是字符串。“计数”:0
而不是“计数”:“0”
答案不是基于mongojs,但下面的语法应该可以帮助您
db.collection.updateOne(({"subs.name":"list2"},{$inc:{"subs.$.count":1}})
确保您的计数不是字符串。“计数”:0
不是“计数”:“0”
我想是在使用数组过滤器:-您是在尝试仅使用mongojs提供的函数更新值,还是只需要使用javascript函数更新这些值?您能告诉我们您尝试了什么吗?正如@AravindaMeewalaarachchi指出的,您是想要原始mongodb查询还是想要使用库?我想是在使用数组过滤器ers:-您是只尝试使用mongojs提供的函数更新值,还是只需要使用javascript函数更新这些值?您能告诉我们您尝试了什么吗?正如@AravindaMeewalaarachchi所指出的,您是想要原始mongodb查询还是想要使用库?