从节点js摇篮中的couchdb中选择?

时间:2011-10-26 22:46:45

标签: node.js couchdb express

我有couchdb并记录my_users看起来像:

_id
password
email
...

如何为_id和密码选择_id。 我想要像mysql select _id from my_users where _id = "mylogin" and password = "mypassword"

一样

我使用摇篮

并尝试这样:

db.save('_design/user', {
    views: {
       byUsername: {
          map: 'function (doc) { if (doc.resource === "my_users") { emit(doc._id) } }'
              }
            }
          });   


this.db.view('user/byUsername', { key: 'myuser' }, function (err, doc) {       

              console.dir(doc);   ///this is empty array :|
          });    

但它没有正常工作如何使用它?

1 个答案:

答案 0 :(得分:1)

您可以同时发出_idpassword

function(doc) {
  var key;
  if(doc.resource == "my_users") {
    key = [doc._id, doc.password];
    emit(key, null);
  }
}

要查找用户名/密码匹配,请搜索相同的密钥。

var username = 'myuser';
var password = 'secret';
var key = [username, password];
this.db.view('users/byUsernamePassword', {"key":key}, function(err, doc) {
  console.log("Result:");
  console.dir({"err":err, "doc":doc});
})