2012-07-21 21 views
2

我有一个嵌入文档数组的文档。即'key'=> array(...)MongoDB数组中的所有值应该小于一个值

是否可以创建一个查询,以便对于嵌入数组中的某个值,它们都是$ lt某个值?

所以这样的:

{ 
'key.value' : { $lt : 5.0 } 
} 

问题只要一个为$为lt那么它匹配这我不想要,我想都应该是有小于5

+0

你想做什么?你只是想找到哪些值小于5,或者你想将较大的值减小到5,并让较小的值保持原来的样子? – 2012-07-21 15:15:49

+0

我基本上想要得到所有key.values小于5的所有文档。注: { 'key.value':{$ lt:5.0} } 包含其他字段。例如: { name:Bob, 'key.value':{$ lt:5.0} } – user1154863 2012-07-21 15:50:43

回答

7

如何使用$不是运营商?具体来说,匹配你不想要的所有值,然后得到相反的结果。因此,像:

{ 
'key.value' : { $not : { $gte : 5.0 }} 
} 

会得到所有这些不具备阵列大于或等于五,这是我想你想的值的文件,对不对?

+0

好主意,谢谢:) – 2012-07-21 22:27:56

+0

完美谢谢! – user1154863 2012-07-22 04:59:55

相关问题