2017-04-09 23 views
1

MongoDB可以通过它的散列查找数据吗?使用MongoDB查找散列数据

我试图找到的MongoDB相当于这个MySQL查询:

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 shell中包含一个包含sha1功能的库(例如js-sha1),并使用load函数,然后在您的mongo操作中使用它。

+0

谢谢!在mongo shell中加载js-sha1后得到'true'。 你能帮我弄清楚如何用'sha1'函数做'db.collection.find()'查询吗?此外,似乎我需要在每次启动时执行'load()',是否有办法自动执行此操作? – Leekie

+0

@Leekie我想你可以在你的服务器启动时在你的mongodb连接后创建步骤中使用load命令,例如在spring中;在生成'mongoTemplate' [bean](http://www.mkyong.com/mongodb/spring-data-mongodb-hello-world-example/)时,在返回bean之前,可以执行该命令来加载这个js库。对不起,我不能给出确切的细节,但有想法。我认为在部署过程中加载库是可以接受的,但在每次操作过程中都不能如您所说。 –

+0

@Leekie这个答案不令人满意? –