我需要更新所有文档,其中另一个数组(“ days.Hour”)中的一个数组的值是“ 08h”到“ 8”。
{
"_id" : ObjectId("5bbd1396197aa5389cb7bfb7"),
"days" : [
{
"Day" : "Saturday",
"Hour" : [
"08h",
"10h"
]
},
{
"Day" : "Sunday",
"Hour" : [
"08h",
"10h"
]
}
],
"name" : "Guilherme",
"isActive" : true,
"gender" : "male"
}
我尝试过一次学习,但没有成功:
myCollection.find({}).forEach(function(doc){
doc.days.forEach(function(day){
day.Hour.forEach(function(hour){
hour = hour.replace("h", "");
print(hour);
})
})
// Here I can replace the document, but the document doesn't contain my replace
print(doc);
})
答案 0 :(得分:0)
尝试一下
public class Order
{
[Key]
public int OrderId { get; set; }
public string Date { get; set; }
public string Title { get; set; }
public string Supplier { get; set; }
public string Projekt { get; set; }
public string Department { get; set; }
public string Description { get; set; }
public int Price { get; set; }
public bool Approval { get; set; }
public bool Payment { get; set; }
}
答案 1 :(得分:0)
不是首选,而是使用代码处理数据并以n个文档的形式写回数据,您实际上可以尝试以下查询:
myCollection.updateMany({
}, { $set: { "days.$[].Hour.$[eachHour]": '8h' } }, {
arrayFilters: [{ 'eachHour': '08h' }]
})
收集数据:
/* 1 */
{
"_id" : ObjectId("5bbd1396197aa5389cb7bfb7"),
"days" : [
{
"Day" : "Saturday",
"Hour" : [
"08h",
"10h"
]
},
{
"Day" : "Sunday",
"Hour" : [
"08h",
"10h"
]
}
],
"name" : "Guilherme",
"isActive" : true,
"gender" : "male"
}
/* 2 */
{
"_id" : ObjectId("5e2f085ad02e05b69487f2b3"),
"days" : [
{
"Day" : "Saturday",
"Hour" : [
"18h",
"10h"
]
},
{
"Day" : "Sunday",
"Hour" : [
"08h",
"10h"
]
}
],
"name" : "Guilherme2",
"isActive" : true,
"gender" : "male"
}
/* 3 */
{
"_id" : ObjectId("5e2f0865d02e05b69487f3a0"),
"days" : [
{
"Day" : "Saturday",
"Hour" : [
"18h",
"10h"
]
},
{
"Day" : "Sunday",
"Hour" : [
"18h",
"10h"
]
}
],
"name" : "Guilherme3",
"isActive" : true,
"gender" : "male"
}
结果:
/* 1 */
{
"_id" : ObjectId("5bbd1396197aa5389cb7bfb7"),
"days" : [
{
"Day" : "Saturday",
"Hour" : [
"8h",
"10h"
]
},
{
"Day" : "Sunday",
"Hour" : [
"8h",
"10h"
]
}
],
"name" : "Guilherme",
"isActive" : true,
"gender" : "male"
}
/* 2 */
{
"_id" : ObjectId("5e2f085ad02e05b69487f2b3"),
"days" : [
{
"Day" : "Saturday",
"Hour" : [
"18h",
"10h"
]
},
{
"Day" : "Sunday",
"Hour" : [
"8h",
"10h"
]
}
],
"name" : "Guilherme2",
"isActive" : true,
"gender" : "male"
}
/* 3 */
{
"_id" : ObjectId("5e2f0865d02e05b69487f3a0"),
"days" : [
{
"Day" : "Saturday",
"Hour" : [
"18h",
"10h"
]
},
{
"Day" : "Sunday",
"Hour" : [
"18h",
"10h"
]
}
],
"name" : "Guilherme3",
"isActive" : true,
"gender" : "male"
}
它将更新两个文档。