在MongoDB中按类型查询BinData

要按类型查询,请subtype()在MongoDB中使用。让我们创建一个包含文档的集合-

> db.demo249.insertOne({ "_id" : BinData(0,"AQAAAAEBAAVlbl9VSwAAAAAAAAhv") });
{
   "acknowledged" : true,
   "insertedId" : BinData(0,"AQAAAAEBAAVlbl9VSwAAAAAAAAhv")
}
> db.demo249.insertOne({"_id" : BinData(4,"CNDF66qIlCY92q1vFAAAAQ==")});
{
   "acknowledged" : true,
   "insertedId" : UUID("08d0c5eb-aa88-9426-3dda-ad6f14000001")
}
> db.demo249.insertOne({"_id" : BinData(3,"CNDF66qJ29g92q1vFAAAEw==")});
{
   "acknowledged" : true,
   "insertedId" : BinData(3,"CNDF66qJ29g92q1vFAAAEw==")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo249.find();

这将产生以下输出-

{ "_id" : BinData(0,"AQAAAAEBAAVlbl9VSwAAAAAAAAhv") }
{ "_id" : UUID("08d0c5eb-aa88-9426-3dda-ad6f14000001") }
{ "_id" : BinData(3,"CNDF66qJ29g92q1vFAAAEw==") }

以下是如何通过类型查询BinData-

> db.demo249.find(function(){ return this._id.subtype() == 0 });

这将产生以下输出-

{ "_id" : BinData(0,"AQAAAAEBAAVlbl9VSwAAAAAAAAhv")