Mongodb:如何查找字段与ObjectId或字符串匹配的文档?

皮埃尔·勒鲁(Pierre Le Roux)

我在Mongodb的集合中有一些文档:

{_id : ObjectId('533af69b923967ac1801e113'), fKey : '533aeb09ebef89282c6cc478', ... }
{_id : ObjectId('5343bd1e2305566008434afc'), fKey : ObjectId('5343bd1e2305566008434afc'), ...} }

如您所见,我的字段fkey可以由字符串ObjectId设置

我想获取所有与'533aeb09ebef89282c6cc478'或ObjectId('5343bd1e2305566008434afc')匹配的文档。

但是如果我跑:

db.mycollection.find({fkey : '533aeb09ebef89282c6cc478'})

我只得到集合的第一个文件。

有没有一种方法可以配置Mongodb,以便在不检查类型的情况下获取与请求匹配的所有文档?

谢谢你的帮助。

皮埃尔

利克斯

这里有两个选项供您选择。

您可以使用mongo的$or运算符

db.mycollection.find({ 
  $or: [ 
    { fKey: '533aeb09ebef89282c6cc478' }, 
    { fKey: ObjectId( '533aeb09ebef89282c6cc478' ) } 
  ] 
})

$or操作者执行的逻辑OR的两个或更多的阵列上操作<expressions>和文件选择该的至少满足一个<expressions>


您还可以使用$in运算符

db.mycollection.find({ 
  fKey: { 
    "$in": [ '533aeb09ebef89282c6cc478', ObjectId( '533aeb09ebef89282c6cc478' )  ] 
  }
})

$in操作者选择其中一个场的值等于指定数组中的任何值的文件。


在我看来,这些不一致并不是要存在的。我建议您遍历您的代码和数据管道,并弄清楚谁/什么将fKey使用未知数据类型插入值。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用通配符在文档中查找字符串;返回完整的字符串VBA

来自分类Dev

查找任何字段与搜索字符串匹配的文档

来自分类Dev

jQuery DataTables fnFilter:在串联的字符串中查找字符串的完全匹配

来自分类Dev

在R中查找字符串匹配

来自分类Dev

如何使用std :: regex查找字符串中的下一个匹配项?

来自分类Dev

查找字符串中的部分匹配项

来自分类Dev

如何查找字符串的最长重复序列

来自分类Dev

查找字符串匹配模式

来自分类Dev

MongoDB:如何在不指定数组索引的任何字段的子文档中查找包含字符串的文档?

来自分类Dev

查找字符串中的所有匹配项

来自分类Dev

领域-如何在列表中查找字符串

来自分类Dev

查找字段A是字段B的子字符串的行

来自分类Dev

如何通过MongoDb Shell将字符串字段转换为对象数组中的ObjectId?

来自分类Dev

查找字符串匹配的位置

来自分类Dev

计算字符串与多个文档中的字段匹配的次数

来自分类Dev

字符串模式查找字符

来自分类Dev

如何查找字符串的字母与另一个字母的字母匹配的时间?

来自分类Dev

查找字符串中最准确的匹配项

来自分类Dev

如何通过正则表达式匹配/查找字符串

来自分类Dev

MongoDB查找字段是较长字符串的一部分

来自分类Dev

查找字符串匹配并输出位置

来自分类Dev

MongoDB:如何在不指定数组索引的任何字段的子文档中查找包含字符串的文档?

来自分类Dev

如何查找字符串中的数字

来自分类Dev

MYSQL-匹配/查找字符串中的数字

来自分类Dev

如何从列中查找字符串

来自分类Dev

MongoDB 查询:如何在嵌套对象中查找字符串

来自分类Dev

在 PDF/a 文档中查找字符串

来自分类Dev

如何在字符串字段和 ObjectId 之间进行查找 - MongoDB C# 驱动程序

来自分类Dev

java - 如何在两个数组中查找字符串之间的匹配项

Related 相关文章

  1. 1

    使用通配符在文档中查找字符串;返回完整的字符串VBA

  2. 2

    查找任何字段与搜索字符串匹配的文档

  3. 3

    jQuery DataTables fnFilter:在串联的字符串中查找字符串的完全匹配

  4. 4

    在R中查找字符串匹配

  5. 5

    如何使用std :: regex查找字符串中的下一个匹配项?

  6. 6

    查找字符串中的部分匹配项

  7. 7

    如何查找字符串的最长重复序列

  8. 8

    查找字符串匹配模式

  9. 9

    MongoDB:如何在不指定数组索引的任何字段的子文档中查找包含字符串的文档?

  10. 10

    查找字符串中的所有匹配项

  11. 11

    领域-如何在列表中查找字符串

  12. 12

    查找字段A是字段B的子字符串的行

  13. 13

    如何通过MongoDb Shell将字符串字段转换为对象数组中的ObjectId?

  14. 14

    查找字符串匹配的位置

  15. 15

    计算字符串与多个文档中的字段匹配的次数

  16. 16

    字符串模式查找字符

  17. 17

    如何查找字符串的字母与另一个字母的字母匹配的时间?

  18. 18

    查找字符串中最准确的匹配项

  19. 19

    如何通过正则表达式匹配/查找字符串

  20. 20

    MongoDB查找字段是较长字符串的一部分

  21. 21

    查找字符串匹配并输出位置

  22. 22

    MongoDB:如何在不指定数组索引的任何字段的子文档中查找包含字符串的文档?

  23. 23

    如何查找字符串中的数字

  24. 24

    MYSQL-匹配/查找字符串中的数字

  25. 25

    如何从列中查找字符串

  26. 26

    MongoDB 查询:如何在嵌套对象中查找字符串

  27. 27

    在 PDF/a 文档中查找字符串

  28. 28

    如何在字符串字段和 ObjectId 之间进行查找 - MongoDB C# 驱动程序

  29. 29

    java - 如何在两个数组中查找字符串之间的匹配项

热门标签

归档