作为NoSQL数据库之一的MongoDB由于其高性能,数据类型可扩展以及可以分布式部署等等一系列特点,一发布就成为了最热门的非关系型数据库之一.尤其是它的查询语言,以类似Json的语句来筛选数据,功能强大而且十分灵活.本文演示的使用$elemMatch操作符来匹配一个对象列表中一个对象的属性.
假设我们有下面这样的数据:
如果现在想查询 apple 的 count 属性,当然可以一次把 fruits 全部取出来再一个个遍历查找,不过还可以使用 $elemMatch 操作来直接查询:
$elemMatch 就会在 fruits 列表中寻找能匹配到 {'name' : 'apple'} 属性的对象.
如果要把 apple 的 count 属性增加 10 可以这样:
其中的'$'代表第一个匹配的对象,在这个示例中就是 apple 这个对象了.