MongoDB Shell:按类型查询BinData

时间:2014-06-12 15:59:06

标签: javascript mongodb mongodb-query

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

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

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

虽然有些人使用类型3的BinData:

"_id" : BinData(3,"CNDF66qJ29g92q1vFAAAEw==")

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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您可以使用$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==")