Mongodb 检索部分对象

Mongodb 检索部分对象,mongodb,Mongodb,在MongoDB中,是否可以检索只包含其值满足某个子句的字段的对象切片?比如说, {terms: {a: 1, :b: 2, c: 10}} 我只想得到术语中值小于10的字段,得到 {terms: {a: 1, :b 2}} 我知道我可以按照以下方式对我的记录进行建模: {terms: [{term:'a', value:1}, {term:'b', value:2}]} 然后使用以下查询仅检索小于10的术语: db.coll.find({}, {terms: {$elemMatch: {

在MongoDB中,是否可以检索只包含其值满足某个子句的字段的对象切片?比如说,

{terms: {a: 1, :b: 2, c: 10}}
我只想得到
术语中值小于10的字段,得到

{terms: {a: 1, :b 2}}
我知道我可以按照以下方式对我的记录进行建模:

{terms: [{term:'a', value:1}, {term:'b', value:2}]}
然后使用以下查询仅检索小于10的
术语

db.coll.find({}, {terms: {$elemMatch: {value: {$lt: 10}}}});

但是我正在寻找一种更节省空间的方法来存储数据(我有很多这样的元素)。

不,MongoDB中没有这样的查询投影功能。

不,MongoDB中没有这样的查询投影功能。

不,你不能对这样的任意字段进行查询(因此你也不能只检索一个片段)。字段名必须声明为查询的一部分。不,您不能对任意字段执行类似的查询(因此您也不能仅检索一个片段)。字段名必须作为查询的一部分声明。