我有一个应用程序想使用NoSQL数据库,但我仍然想对两个不同的属性进行范围查询,例如,在NoiseLevel小于X的时间T1和T2之间选择所有条目。另一方面,我想使用NoSQL/键值存储,因为数据非常稀疏和多样,我不想为可能遇到的每个新数据类型创建新表。
我知道你不能为google数据存储使用多个不等过滤器(source)。我也知道这个功能即将推出(根据this)。
我知道这在couchdb也是不可能的(source)。
我想我也或多或少地理解了为什么会这样。
现在,这让我想…所有nosql数据库都是这样吗?其他nosql系统可以对两个不同的属性进行范围查询吗?
例如,mongo db怎么样?我已经查阅了文档,但我在他们的docu中发现了以下片段:
请注意,此页上的任何运算符都可以合并到同一个查询文档中。例如,要查找j不等于3且k大于10的所有文档,您可以这样查询:
db.things.find({j: {$ne: 3}, k: {$gt: 10} });
因此,它们在两个不同的属性上使用大于和不等于。他们没有提到两个不平等;-)
欢迎任何意见和启示:-)
最佳答案
你试过了吗?这对我很有用(查找k>1和k
db.things.find({k:{$gt:1, $lt:3}});