簡體   English   中英

使用Upsert對數組查詢進行Mongo更新

[英]Mongo Update of Array Query using Upsert

給定

  1. menuItems是一個列表['foo','bar','fooz','ball']和
  2. menudb集合具有3條記錄:'foo','bar','fooz'

當我跑步

menudb.update({"_id" : {"$in": menuItems}}, {"$addToSet": {"staleCount": 100}}, upsert=True)

它沒有創建名為“ ball”的新記錄,而是創建了名為“ ObjectId(“ 57d730777bc6a465c9124111”)”的新記錄。

有沒有辦法使新創建的記錄的“ _id”成為列表中的那個?

=謝謝

如果不想在menudb集合中添加新項目,則可以刪除upsert。 我好像你的id是objectId而不是字符串。

https://docs.mongodb.com/manual/reference/operator/query/in/

您可以驗證_id foo是否在集合menudb.update({“ _ id”:“ foo”},{“ $ addToSet”:{“ staleCount”:100})中退出

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM