在mongodb文档中(使用mongoose),如果数据库中已存在history.data
值,我希望能够更新history.time
对象,否则我希望$ addToSet正常工作并将新对象添加到历史数组。
做这个的最好方式是什么?
感谢
MongoDB文档
siteName: 'test',
history: [{
time: '01/01/01 10:10am',
data: {
flow: 10
}
}]
当前脚本
x.findOneAndUpdate(
{siteName:'test'},
{
$addToSet: {
history: {
time: '01/01/01 10:10am',
data: {
level: 18
}
}
}
}
)
通缉结果
siteName: 'test',
history: [{
time: '01/01/01 10:10am',
data: {
flow: 10,
level: 18
}
}]
实际结果
siteName: 'test',
history: [
{
time: '01/01/01 10:10am',
data: {
flow: 10
}
},
{
time: '01/01/01 10:10am',
data: {
level: 18
}
},
]