Mongo DB中检索数组字段的小技巧
假设某表中待检索字段的数据类型为数组,数组的元素是一个子文档,检索的时候怎么样匹配单个数组元素的某几个字段?
第一想法是使用下面的方法:
db.sp.find( { "prices.page_size" : 1, "prices.page_color" : 2 } );
结果当然是错误的,这会先匹配数组元素中page_size字段,再匹配数组元素中的page_color字段。
正确的做法是:
db.sp.find( { "prices" : { "$elemMatch" : { "page_size" : 1, "page_color" : 2 } } } );
本文介绍在MongoDB中如何正确检索包含子文档数组的字段。通过使用$elemMatch操作符可以匹配数组元素中的多个字段条件。

2199

被折叠的 条评论
为什么被折叠?



