投影される属性の等価条件を許可しないNoSQLデータベースを使用しています。たとえば、select a from table where a > 10
などの不等式操作は可能ですが、select a from table where b < 10
は許可されますが、select a from table where a = 10
は許可されません。もちろん私の場合は平等を使用する必要があるので、平等操作を不等式操作に変えたいと思います。文字列の前後の値を取得する
私は電子メールでレコードを取得する必要があります。もし私がselect email from table where email = '[email protected]'
に行くことができますが、これは許可されていませんので、私は[email protected]
の直前に辞書編集的な値を与えたいとしています。文はまだ[email protected]
を返します
select email from table where email < [1 value above] and email > [1 value below]
この方法:だから、クエリは次のようになります。私はこれを達成する方法にも問題があります。
通常、文字列を比較するには、どちらか大きい方と小さい方を確認するために"[email protected]".compare("[email protected]")
に行ってください。この方法は、辞書編集に基づいて何とか値を比較しますが、どのようにしますか?私の質問は、文字列の直下の辞書編集的な値と、文字列の直後の辞書編集的な値を取得する方法です。
NoSQLは「<' and '>」をサポートしますが、「=」はサポートしていません。 – Andreas
@Andreas Google Datastore - 投影クエリを使用している場合、等価フィルタ条件で使用している属性を投影することはできません。 https://cloud.google.com/appengine/docs/python/datastore/projectionqueries – user2924127
NoSQLのこの謎の味は、「NOT」演算子をサポートしていますか?なぜ、Tからselect(*電子メール<:val or email>:val) 'をしないのですか? – nbrooks