我试图将某种工作的开始时间和结束时间存储在mongodb中。作业可以发出N次更新请求来记录开始时间,并发出N次记录结束时间,因为它是一种作业,并且具有子作业。每次子作业开始或结束时,它都会发出更新请求,而我不知道哪个是startime请求,哪个是endtime请求。
基本上,我只想在第一次发出更新请求时记录开始时间,并且每次发出更新请求时,我都需要保持字段结束时间的更新。
为此,我在下面使用了查询
db.myCollection.update(
{"_id":"testCollection"},
{
"$setOnInsert":{"data.LINUX.startTime":"02:05"},
"$set":{"data.LINUX.endTime":"02:05"}
},
{upsert:true})
查询每次都会更新endTime,但不会插入开始时间。我不知道我的查询出了什么问题。如何更改上面的查询以完成我所需要的?