gpt4 book ai didi

forms - 在 couchdb 中选择用户

转载 作者:行者123 更新时间:2023-12-01 10:14:10 25 4
gpt4 key购买 nike

我有一个用于用户身份验证的 HTML 表单,用 SQL 语言更容易提取数据

select name, password from users where name='nameField' and password='passwordField'

在 couchdb 中,我不能仅使用临时 View 来使用本地 View :

curl -X POST -H 'Content-Type: application/json' -d '{"map": "function (doc) {if (doc.name === "nameField" && doc.password === "passwordField") {emit (doc.name, doc.passWord)}}"}' http://localhost:5984/somedb/_temp_view

但不推荐(Click here),我该怎么办? :(

谢谢

最佳答案

这就是我通常喜欢做的...

  1. 创建您的设计文档并查看。例如,/_design/users/_views/byUserPass

  2. 您的 map 函数可能看起来像这样(没有 reduce 函数):

    函数(文档)
    {
    如果(doc.docType ==“用户”)
    emit([doc.username, doc.password], doc);

  3. 然后我可以这样查询:http://localhost:5984/somedb/_design/users/_views/byUserPass?key=["exampleUsername", "examplePassword"]

  4. 如果我得到返回的行,则凭据是正确的。作为奖励,我还获得了用户的所有信息。现在我可以更新他们的 session (例如,将他们的用户 ID 放入 session 中)或文档(例如,更新“上次登录时”),而无需额外调用 CouchDB 来获取他们的信息。

如果您不想更新任何内容,则返回一个空值:emit([doc.username, doc.password], null); - 这也会减少带宽消耗,因为您不再传回整个文档。

干杯。

关于forms - 在 couchdb 中选择用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2769716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com