使用 PyMongo 在 _id 字段上执行正则表达式 $in 查询

问题描述 投票:0回答:1

在 mongo shell 中,我可以执行以下操作

db.getCollection('my-collection').find({_id: {$in: [/^id0$/, /^id0#spr#/, /^id1$/, /^id1#spr#/]}})

但我找不到如何在 PyMongo 中执行此操作,似乎没有任何等效项。

我试过重新编译,并且

$in [{"$regex": ...}]

mongodb pymongo
1个回答
0
投票

您可以将所有正则表达式与捕获组

()
和 OR
|
组合成一个。

(^id0$)|(^id0#spr#)|(^id1$)|(^id1#spr#)

Demo @ Regex 101

db.getCollection('my-collection').find({
  _id: {
    $regex: "(^id0$)|(^id0#spr#)|(^id1$)|(^id1#spr#)"
  }
})

演示@MongoPlayground

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.