MongoDB 数据操作(二)数据查询(7)嵌套集合查询
in SQL with 0 comment, Views is 17

MongoDB 数据操作(二)数据查询(7)嵌套集合查询

in SQL with 0 comment, Views is 17

上一篇:《MongoDB 数据操作(二)数据查询(6)数组查询》

在 MongoDB 数据里面,每一个集合数据可以继续保存其他的集合数据

例如:有些学生需要保存家长信息

增加新数据

> db.students.insert({
      "name": "李大锤",
      "sex": "男",
      "age": 19,
      "parents": [
          {"name": "李大锤父亲", "age": 50, "job": "工人"},
          {"name": "李大锤母亲", "age": 47, "job": "局长"},
      ]
  });
> db.students.insert({
      "name": "李小锤",
      "sex": "女",
      "age": 20,
      "parents": [
          {"name": "李小锤父亲", "age": 60, "job": "处长"},
          {"name": "李小锤母亲", "age": 55, "job": "局长"},
      ]
  });

1.png

这种嵌套集合的数据判断只能通过 $elemMatch

查询出年龄大于19,父母有人是局长的信息

> db.students.find({"$and": [
      {"age": 
          {"$gt": 19}
      },
      {"parents": 
          {"$elemMatch": {"job": "局长"}}
      }
  ]}).pretty();

2.png

由于这种查询条件较为麻烦,如果有可能,尽量不要设计过于复杂的数据结构

下一篇:《MongoDB 数据操作(二)数据查询(8)字段判断》

Responses
选择表情