mongo objectid“包含”查询

2024-05-13

我想查询 MongoDB 数据库中的集合以查找包含部分 ObjectID 的所有记录。对于普通字符串,我可以使用如下正则表达式:

db.teams.find({"some_string": /^51eed/})

但是我该如何对 ObjectID 执行类似的操作呢?

具体来说,我有一个看起来像这样的集合:

{ "status" : 0, "_id" : ObjectId("51e97ff613e737801d000002") }
{ "status" : 0, "_id" : ObjectId("51ee7513d1f7c57420000002") }
{ "status" : 0, "_id" : ObjectId("51eed9dd5b605af404000002") }
{ "status" : 0, "_id" : ObjectId("51eedab39108d8101c000002") }

我想查询(在 mongo 中)ObjectId 以“51eed”开头的所有记录。非常感谢您的帮助。


您可以简单地通过范围搜索来完成此操作,从"51eed0000000000000000000"并结束于"51eee0000000000000000000"(注意“d”->“e”):

db.teams.find( { 
    _id: {
        $gte: ObjectId("51eed0000000000000000000"),
        $lt:  ObjectId("51eee0000000000000000000"),
    } 
} )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mongo objectid“包含”查询 的相关文章

随机推荐