mongodb$nin运算符不';行不通

mongodb$nin运算符不';行不通,mongodb,Mongodb,我在玩弄mongodb 我有两个集合,其中的文档共享相同的ID,我想从colB而不是colA中获取所有文档ID。 ID是简单的整数 首先,我从数组中的colA获取所有ID,然后在第二个查询中将其与$nin运算符一起使用。 但是$nin运算符不返回任何数据 提供给$nin运算符的数组是否太大?查询不返回任何错误 (在生产环境中,我可能会用另一种方式检查一致性) 看看我的mongoshell脚本 输出 MongoDB shell version: 3.2.5 connecting to: test

我在玩弄mongodb

我有两个集合,其中的文档共享相同的ID,我想从colB而不是colA中获取所有文档ID。 ID是简单的整数

首先,我从数组中的colA获取所有ID,然后在第二个查询中将其与$nin运算符一起使用。 但是$nin运算符不返回任何数据

提供给$nin运算符的数组是否太大?查询不返回任何错误

(在生产环境中,我可能会用另一种方式检查一致性)

看看我的mongoshell脚本

输出

MongoDB shell version: 3.2.5
connecting to: test
MATCHES
2032
MATCHES DETAILS
2004
MATCHES DETAILS not found using manual check
28
MATCHES DETAILS not found using find $nin
0
MATCHES DETAILS found using find $in
2004
剧本

var rito=newmongo(“localhost”).getDB(“riotData”); var allMatchesIds=rito.matches.find({},{u-id:true}).map(a=>a.\u-id); var allmatchesdailids=rito.matchDetail.find({},{u-id:true}).map(a=>a.\u-id); var matchesNotFound=[]; 对于(变量i=0;i匹配的id真的和原始id的数据类型相同吗?是的,请看我使用$in运算符进行的测试。它返回正确数量的文档(2032年中的2004个),匹配的id真的和原始id的数据类型相同吗?是的,看看我使用$in操作符的测试。它返回正确数量的文档(2032年中的2004年)