Условия нескольких неравенств (запросы диапазона) в NoSQL
Вопрос
У меня есть приложение, где я хотел бы использовать базу данных NoSQL, но я все еще хочу делать запросы в диапазоне в течение двух разных свойств, например, Выберите все записи между T1 и T2, где Noiselevel меньше х. Отказ С другой стороны, я хотел бы использовать магазин NoSQL / Key-Value, потому что мои данные очень редкие и разнообразные, и я не хочу создавать новые таблицы для каждого нового данных, который я мог бы потитаться.
Я знаю, что вы не можете использовать несколько фильтров неравенства для хранения Google (источник). Я также знаю, что эта функция приходит (согласно это).
Я знаю, что это также невозможно в Couchdb (источник).
Я думаю, что я также более или менее понимаю, почему это дело.
Теперь это заставляет меня удивляться .. Это так со всеми базами данных NoSQL? Может ли другие системы NoSQL составляют диапазон запросов на два разных свойства?
Как насчет, например, Mongo DB? Я посмотрел в документацию, но единственное, что я нашел, был следующим фрагментом в их документ:
Обратите внимание, что любой из операторов на этой странице может быть объединен в том же документе запроса. Например, чтобы найти весь документ, где j не равен 3 и k, больше 10, вы запрашиваете так:
db.things.find({j: {$ne: 3}, k: {$gt: 10} });
Таким образом, они используют больше, чем и не равно на двух разных свойствах. Они ничего не говорят о двух неравенствах ;-)
Любой вход и просвещение приветствуется :-)
Решение
Ты пробовал? Это работает нормально для меня (находит все строки с K> 1 и K <3):
db.things.find({k:{$gt:1, $lt:3}});