MongoDB: Query ObjectId via Substring



我希望能够通过我的MongoDB集合中的子字符串查询_id字段。然而,由于ObjectId是它自己的对象,而不是一个纯字符串,这是困难的。这是我目前使用的查询无济于事,但希望它能更清楚地说明我想要完成的任务。

{_id: {$regex: '62a0ed7'}}

多谢!

不能具有正则表达式的查询

我建议提供您自己独特的字符串_id那么你可以使用正则表达式查询表达式。

的例子:

// This will add a tempUserId property to each document
Model.aggregate([
{
$addFields: {
tempUserId: { $toString: '$_id' },
}
},
{
$match: {
tempUserId: { $regex: '62a0ed7', $options: "i" }
}
}
]);

一个更快的解决方案是,你也可以添加一个预创建钩子或任何保存id(除了_id)包含ObjectId (_id)的值作为一个字符串,你可以在它上面做一个文本索引,而不是搜索正则表达式。

最新更新