我正在尝试更新视频进度文档。有一个isFinished
字段,如果用户还没有看完视频,则该值为false。一旦用户看完它,就应该更新为true。
我只检查视频的当前时间与视频的实际长度,以确定要传递到更新方法的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
}
});
最佳答案
此命令应正常工作。
db.collectionname.update({isFinished:false},{$set:{isFinished:true}})