我试图通过使用BinData的_id字段查询大型集合。

其中一些ID使用类型4的BinData:

"_id" : BinData(4,"CNDF66qIlCY92q1vFAAAAQ==")

虽然有些使用类型3的BinData:
"_id" : BinData(3,"CNDF66qJ29g92q1vFAAAEw==")

我需要找到所有具有BinData.type = 3的_id字段,并且想知道是否有人在MongoDB shell中进行过这样的查询。

任何帮助将不胜感激!

最佳答案

您可以使用 $where 样式查询来执行此操作,因为BinData对象具有返回该“类型”的.subtype()方法:

db.collection.find(function(){ return this._id.subtype() == 3 })

请注意,默认情况下,“类型” 3 BinData是由MongoDB 2.6的Shell可用的新UUID帮助程序生成的:
UUID("0123456789abcdeffedcba9876543210")
BinData(3,"ASNFZ4mrze/+3LqYdlQyEA==")

关于javascript - MongoDB Shell:按类型查询BinData,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24188881/

10-10 15:21