Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB中的$nin运算符是否有最大限制?_Mongodb - Fatal编程技术网

MongoDB中的$nin运算符是否有最大限制?

MongoDB中的$nin运算符是否有最大限制?,mongodb,Mongodb,我的示例用例是查询关于未阻止用户的人的数据 而且可以阻止用户的人数没有限制 所以我的查询看起来像 db.collection().find( { followedPersonId: { $nin: [ blockerId1, blockerId2, blockerId3.....] } } ) 因此,$nin运算符中的数组项的数量可能会增长到一个潜在的大数字,因此MongoDB中该数组的大小是否有限制?简短的回答是否定的 当您尝试这样做时,查询将变得巨大。性能也会降低 身份证是用克罗尔吗? 如

我的示例用例是查询关于未阻止用户的人的数据 而且可以阻止用户的人数没有限制

所以我的查询看起来像

db.collection().find( { followedPersonId: { $nin: [ blockerId1, blockerId2, blockerId3.....] } } )
因此,$nin运算符中的数组项的数量可能会增长到一个潜在的大数字,因此MongoDB中该数组的大小是否有限制?

简短的回答是否定的

当您尝试这样做时,查询将变得巨大。性能也会降低

身份证是用克罗尔吗?
如果是,我建议不要使用此方法。

命令大小限制当前设置为48 MB。如果您的查询大于该值,则驱动程序在尝试序列化它时应该失败,而服务器在被要求解析它时应该失败


由于您的查询在技术上是一个查询文档,我认为较低的16MB BSON文档大小限制也适用于它。48 MB的限制适用于查找和修改指定查询文档和更新文档的查询。

即使没有,也需要在查询中发送这些ID,这使得查询本身庞大而缓慢。也许数据库中的
$lookup
会更好?对于
$in
$nin
有一个类似的问题,它是
$in
$not
运算符的组合。这是否回答了您的问题?是的,是@D.SM,谢谢你。。。