2

NoSQLデータベースを使用したいアプリケーションがありますが、それでも2つの異なるプロパティに対して範囲クエリを実行したいのです。たとえば、ノイズレベルがXよりも小さい時間T1とT2の間のすべてのエントリを選択します。一方、データが非常にまばらで多様であり、遭遇する可能性のある新しいデータ型ごとに新しいテーブルを作成したくないため、NoSQL/Key-Valueストアを使用したいと思います。

Google Datastore(ソース)に複数の不等式フィルターを使用できないことを知っています。私はまた、この機能が来ることを知っています(これによるとこれはCouchDB(ソース
) でも不可能であることを私は知っています。

私も多かれ少なかれこれが事実である理由を理解していると思います。

さて、これは私に不思議に思います..それはすべてのNoSQLデータベースに当てはまりますか?他のNoSQLシステムは、2つの異なるプロパティに対して範囲クエリを実行できますか?

たとえば、Mongo DBはどうですか?私はドキュメントを調べましたが、私が見つけたのは、ドキュメント内の次のスニペットだけでし

このページのどの演算子も同じクエリドキュメントに組み合わせることができることに注意してください。たとえば、jが3に等しくなく、kが10より大きいすべてのドキュメントを検索するには、次のようにクエリを実行します。

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

したがって、2つの異なるプロパティでより大きいと等しくないを使用します。彼らは2つの不等式について何も言いません;-)

任意の入力と啓蒙は大歓迎です:-)

4

1 に答える 1

3

やってみました?これは私にとってはうまくいきます(k> 1およびk <3のすべての行を検索します):

db.things.find({k:{$gt:1, $lt:3}});
于 2010-06-17T13:01:35.587 に答える