查询数组以获取MongoDB中索引n处的“真”值?

您可以为此使用dot(。)表示法。首先让我们创建一个包含文档的集合-

>db.containsTrueValueDemo.insertOne({"IsMarried":[true,false,true,true,true,true,false,true,false,false,true]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd5039c2cba06f46efe9ef5")
}

以下是在find()方法的帮助下显示集合中所有文档的查询-

> db.containsTrueValueDemo.find().pretty();

这将产生以下输出-

{
   "_id" : ObjectId("5cd5039c2cba06f46efe9ef5"),
   "IsMarried" : [
      true,
      false,
      true,
      true,
      true,
      true,
      false,
      true,
      false,
      false,
      true
   ]
}

查询数组中索引n处的“真”值-

> db.containsTrueValueDemo.find({'IsMarried.2' : true});

这将产生以下输出-

{ "_id" : ObjectId("5cd5039c2cba06f46efe9ef5"), "IsMarried" : [ true, false, true, true, true, true, false, true, false, false, true ] }

向数组查询索引n处的“真”值-

> db.containsTrueValueDemo.find({$and :  [ {'IsMarried.0' : true}, {'IsMarried.2' : true} ] } );

这将产生以下输出-

{ "_id" : ObjectId("5cd5039c2cba06f46efe9ef5"), "IsMarried" : [ true, false, true, true, true, true, false, true, false, false, true ] }