您可以为此使用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 ] }