【问题标题】:Multiple inequality conditions (range queries) in NoSQLNoSQL 中的多个不等式条件(范围查询)
【发布时间】:2010-06-17 12:52:08
【问题描述】:

我有一个应用程序,我想使用 NoSQL 数据库,但我仍然想对两个不同的属性进行范围查询,例如 选择时间 T1 和 T2 之间噪声级小于的所有条目X。另一方面,我想使用 NoSQL/Key-Value 存储,因为我的数据非常稀疏和多样化,我不想为可能遇到的每种新数据类型创建新表。

我知道您不能对 Google 数据存储区 (source) 使用多个不等式过滤器。我也知道这个功能要来了(据this)。
我知道这在 CouchDB (source) 中也是不可能的。

我想我也或多或少理解为什么会这样。

现在,这让我想知道.. 所有 NoSQL 数据库都是这种情况吗?其他 NoSQL 系统可以对两个不同的属性进行范围查询吗?

例如,Mongo DB 怎么样?我查看了文档,但我发现的唯一内容是他们的docu 中的以下 sn-p:

请注意,此页面上的任何运算符都可以组合在同一个查询文档中。例如,要查找 j 不等于 3 且 k 大于 10 的所有文档,您可以这样查询:

db.things.find({j: {$ne: 3}, k: {$gt: 10} });

所以他们在两个不同的属性上使用大于和不等于。他们没有说任何关于两个不等式的事情;-)

欢迎任何意见和启发:-)

【问题讨论】:

  • 想知道您是否找到了答案?我想知道同样的事情(如果所有 nosql 数据库都有多个不等式过滤器的问题),因为 appengine 仍然没有发布多个不等式过滤器!

标签: mongodb couchdb datastore nosql


【解决方案1】:

你试过了吗?这对我来说很好(查找 k > 1 和 k

db.things.find({k:{$gt:1, $lt:3}});

【讨论】:

  • 感谢您的试用!并回答您的问题:不,我没有,因为我没有安装 MongoDB。实际上,这很愚蠢。我现在正在安装它;-)
  • 我不会说这是“愚蠢的”。我可以理解想先了解能力。但是 Mongo 是一种非常容易安装的工具,以至于不(回想起来)几乎没有意义......无论哪种方式都祝你好运......
猜你喜欢
  • 1970-01-01
  • 2020-02-02
  • 1970-01-01
  • 2021-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-09
相关资源
最近更新 更多