我正在尝试更新视频进度的文档。有一个isFinished
字段,如果用户尚未观看视频,则该值为false。一旦用户完成观看,它应该更新为真。
我只是根据视频的实际长度检查视频的当前时间,以确定传递给更新方法的isFinished
。事实是,如果用户已经完成观看视频,决定再次观看视频,并且没有完成,则文档不应更新isFinished to false
的值。
如果属性的当前值为false,我该如何更新呢?
MyCollection.upsert({
userId: this.userId,
videoId: videoId
}, {
$set: {
userId: this.userId,
videoId: videoId,
videoStartTime: videoStartTime,
isFinished: isFinished //only change this if current value is not false
}
});
答案 0 :(得分:1)
此命令应该可以正常工作。
db.collectionname.update({isFinished:false},{$set:{isFinished:true}})