在 MongoDB 中,是否可以检索仅包含其值满足某个子句的字段的对象切片?例如,对于
{terms: {a: 1, :b: 2, c: 10}}
我只想获取terms
值小于 10 的字段,得到
{terms: {a: 1, :b 2}}
我知道我可以将我的记录建模如下:
{terms: [{term:'a', value:1}, {term:'b', value:2}]}
然后terms
使用以下查询仅检索小于 10 的值:
db.coll.find({}, {terms: {$elemMatch: {value: {$lt: 10}}}});
但我正在寻找一种更节省空间的方式来存储数据(我有很多这些元素)。