我想查询 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(使用前将#替换为@)