使用正则表达式对ObjectId查询MongoDB

路易斯·苏亚雷斯

是否可以执行以下查询:

db.artigo.find( { _id : ObjectId('520a504a3004bc615fcfcf16') } )

但是在ObjectId上使用正则表达式?

例如,获取上面那个位置上包含“ 004”的_ids。

PS。原因是要基于某些字段(即_id)实现矮人服务。我正在尝试创建一个隐式的“ shorty”服务,而不是一个显式的(为该目的而生成的字段)服务。

法鲁克·马利克(Farrukh Malik)

ObjectId不是字符串,而是MongoDB中的特殊类型您不能使用正则表达式运算符来查询包含ObjectId的字段。

_id不必是ObjectId,所以我建议您提供自己的唯一字符串作为_id,然后可以使用正则表达式来查询表达式。

例子:

let userId = 'bf44fa';

const result = await Users.aggregate([
  {
    $addFields: {
      tempUserId: { $toString: '$_id' },
    }
  },
  {
    $match: {
      tempUserId: { $regex: userId, $options: "i" }
    }
  }
]).exec();

现在,我们可以通过_id来查找最后6位数字,也可以通过使用汇总作为您希望的6位开始。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MongoDB使用正则表达式查询空格

来自分类Dev

如何使用正则表达式查询 MongoDB?

来自分类Dev

用于MongoDB ObjectID的正则表达式

来自分类Dev

如何使用pymongo在mongodb查询中实现包含{m,n}的正则表达式?

来自分类Dev

使用正则表达式访问UPDATE查询

来自分类Dev

使用正则表达式修改查询?

来自分类Dev

猫鼬:使用正则表达式查询全名

来自分类Dev

使用哪个-递归查询或特定的正则表达式

来自分类Dev

猫鼬:使用正则表达式查询全名

来自分类Dev

mysql-在查询中使用正则表达式

来自分类Dev

使用正则表达式查询的 Zend 框架

来自分类Dev

如何根据正则表达式匹配数对mongodb正则表达式搜索查询结果进行排序

来自分类Dev

使用正则表达式搜索mongodb _id字段

来自分类Dev

流星,在mongodb中使用正则表达式发布

来自分类Dev

使用正则表达式MongoDB + PHP查找

来自分类Dev

使用Array进行MongoDB正则表达式搜索

来自分类Dev

在mongodb聚合中使用正则表达式

来自分类Dev

MongoDB使用正则表达式发现速度很慢

来自分类Dev

使用正则表达式MongoDB + PHP查找

来自分类Dev

使用Array进行MongoDB正则表达式搜索

来自分类Dev

MongoDB使用正则表达式搜索字段的开始

来自分类Dev

正则表达式查询

来自分类Dev

正则表达式查询的顺序

来自分类Dev

正则表达式SPARQL查询

来自分类Dev

Matlab正则表达式查询

来自分类Dev

正则表达式SPARQL查询

来自分类Dev

Powershell 正则表达式查询

来自分类Dev

正则表达式查询,描述

来自分类Dev

grep 正则表达式查询