2017-04-09 10 views
1

MongoDBでハッシュでデータを検索することは可能ですか?私は、このMySQLのクエリのMongoDBの相当見つけようとしているMongoDBでハッシュデータを検索

SELECT column FROM table WHERE SHA1(column) = "value"

+0

元の値を検索しない理由は何ですか? –

+0

私の文脈では、値はIDであり、ユーザーが何かを確認するために使用されます。私はユーザーがアプリケーションの認証された部分ではないので、他の誰かの価値を確認することを望んでいません。 – Leekie

+0

クエリが高速になるようにするには、コレクションにハッシュされた値を格納し、そのインデックスを付ける必要があります。 –

答えて

0

It doesn't seems there is any such functionality(少し古いが、しかし中に見つけることができませんでしたdocs.mongodb.comのいずれか)が、 mongoシェルにloadという機能を持つsha1機能(例えばjs-sha1)を含むライブラリを組み込み、mongo操作で使用することができます。

+0

ありがとう! mongoシェルでjs-sha1をロードした後に 'true'を得ました。 この 'sha1'関数を使って' db.collection.find() 'クエリを実行する方法を理解できますか?また、起動時に 'load()'を実行する必要があるようですが、これを自動化する方法はありますか? – Leekie

+0

@Leekie私はあなたのmongodbの接続開始後の作成ステップ(例えば、春)でloadコマンドを使うことができると思います。 'mongoTemplate' [bean](http://www.mkyong.com/mongodb/spring-data-mongodb-hello-world-example/)を生成している間に、Beanを返す前に、ロードするコマンドを実行することができますこのjsライブラリ。申し訳ありませんが、正確な詳細はわかりませんが、そのアイデアはそこにあります。私はあなたが言ったように、展開中にライブラリを読み込むことは受け入れられるが、各操作の間には受け入れられないと思う。 –

+0

@Leekieさんはこの回答は満足できませんでしたか? –