1
我HABE一個蒙戈docuemnt如下:更新與新屬性嵌入文檔(在最新的陣列項目)在MongoDB中像
{
"_id" : ObjectId("59ccb655071d4c2ceebe190c"),
"session_details" : [
{
"session_start" : 1,
"session_complete" : 1,
"started_at" : ISODate("2017-09-28T08:42:19.770Z"),
"event_count" : 2
},
{
"session_start" : 1,
"session_complete" : 1,
"started_at" : ISODate("2017-09-28T08:53:08.618Z"),
"event_count" : 1
},
{
"session_start" : 1,
"session_complete" : 1,
"started_at" : ISODate("2017-09-28T09:19:42.726Z")
}
],
"session_id" : "12312312313123",
}
我更新了最新session_deatils象下面這樣:
session=collection.find_one({"session_id":session_id})
total_impression = len(session["session_details"])
latest_session_details = session["session_details"][session_details-1]
latest_session_started_at = latest_session_details.get("started_at")
那麼我正在做如下更新:
collection.update({"session_details.started_at": latest_session_started_at }, {"$set":{"session_details.$.event_count":3}})
由於從上面你可以看到我打DB兩次,是有可能使用單個查詢更新文檔?
在此先感謝。