我有一个应用程序,我想使用NoSQL数据库,但我仍然希望对两个不同的属性进行范围查询,例如选择时间T1和T2之间的所有条目,其中noiselevel小于X 。另一方面,我想使用NoSQL / Key-Value存储,因为我的数据非常稀疏且多样化,我不想为我可能遇到的每种新数据类型创建新表。
我知道您无法为Google数据存储区使用多个不等式过滤器(source)。我也知道这个功能即将到来(根据this) 我知道这在CouchDB中是不可能的(source)。
我想我也或多或少地理解为什么会这样。
现在,这让我想知道.. 所有NoSQL数据库都是这种情况吗?其他NoSQL系统是否可以通过两个不同的属性进行范围查询?
例如,Mongo DB怎么样?我查看了文档,但我发现的唯一内容是docu中的以下代码段:
请注意,此页面上的任何运算符都可以组合在同一个查询文档中。例如,要查找j不等于3且k大于10的所有文档,您可以这样查询:
db.things.find({j: {$ne: 3}, k: {$gt: 10} });
因此他们在两个不同的属性上使用大于和不等于。他们没有说两个不平等的事情; - )
欢迎任何意见和启示: - )
答案 0 :(得分:3)
db.things.find({k:{$gt:1, $lt:3}});