MongoDB 中数组查询

Jan 12, 2018 阅读(291)

标签: MongoDB

在MongoDb有以下含数组的测试数据:

db.students.insert([
    { "_id" : 1, "score" : [ -1, 3 ] },
    { "_id" : 2, "score" : [ 1, 5 ] },
    { "_id" : 3, "score" : [ 5, 5 ] }
])
  • 示例一

db.students.find( { score: { $gt: 0, $lt: 2 } } );    //查询数组score中元素有符合 { $gt: 0, $lt: 2 }的文档数据

查询结果:

{ "_id" : 1, "score" : [ -1, 3 ] },
{ "_id" : 2, "score" : [ 1, 5 ] }

说明: 

    “_id”:1 的文档中,数组中元素 3 满足 $gt: 0 并且 数组中元素 -1 满足 $lt: 2,因此会查询到此条数据;

    “_id”:2 的文档中,数组中元素 0 满足 $gt: 0 且 $lt: 2,因此会查询到此条数据;


  • 示例二

db.students.find( { score: 5 } );        //查询数组score中元素包含只为5的文档数据

查询结果:

{ "_id" : 2, "score" : [ 1, 5 ] },
{ "_id" : 3, "score" : [ 5, 5 ] }


资料文档:https://docs.mongodb.com/v3.4/tutorial/query-arrays/#specify-multiple-criteria-for-array-elements


MongoDB学习园