基于Ups的数组查询Mongo更新

2024-09-30 06:26:29 发布

您现在位置:Python中文网/ 问答频道 /正文

给予

  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”)的新记录。你知道吗

有没有办法使新创建的记录的'\u id'成为列表中的'\u id'?你知道吗

=谢谢


Tags: inidtrue列表foo记录barupdate
1条回答
网友
1楼 · 发布于 2024-09-30 06:26:29

如果不想在menudb集合中添加新项,可以删除upsert。我觉得你的id是objectId而不是string。你知道吗

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

您可以验证集合中是否存在\u id foo 菜单更新({“\u id”:“foo”},{“$addToSet”:{“staleCount”:100})

相关问题 更多 >

    热门问题