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}}}});
しかし、データを保存するためのよりスペース効率の良い方法を探しています (これらの要素がたくさんあります)。