将 MongoDB 中的数据存储在变量中 - mongoose 和 node.js

发布于 2024-11-29 13:56:40 字数 401 浏览 0 评论 0原文

我想知道是否有人可以向我展示如何从 mongodb 获取字符串值并将其存储在变量中。

db.model("users").findOne({username: username, password: password}, {type:1}, 
    function(err, data) {
        if(err) {
            return "Error";
        } else if() {
            return "No records";
        } else {
            return data.type;
        }
    }
);

当我运行这个时,我得到了类型值。

但是如何将其存储在该函数外部的变量中呢?

I was wondering if someone could show me how to get a string value from mongodb and store that in a variable.

db.model("users").findOne({username: username, password: password}, {type:1}, 
    function(err, data) {
        if(err) {
            return "Error";
        } else if() {
            return "No records";
        } else {
            return data.type;
        }
    }
);

I get the type value when I run this.

But how do I store this in a variable outside this function?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鱼窥荷 2024-12-06 13:56:40

匿名函数的返回值被完全忽略。您可以将变量存储在当前作用域可访问的任何位置。例如

var Database = function {
  var myText = null;

  return {    

    getUser: function(username, password, callback) {
      db.model("users").findOne({username: username, password: password}, {type:1},
           function(err, data) {
             if (err) {
               myText = "Error";
             }
             else if (data.length == 0) {
               myText = "No records";
             }
             else {
               myText = data.type
             }

             $('.log').html(myText);
             callback(myText);
      });
    };
  };
}();

,您可以从 server.js 中调用:

Database.getUser(username, password, function(theText) { alert(theText); });

您需要巧妙地了解不同元素如何交互,因为带有回调的 Javascript 不会同步运行。也就是说,应该有可能实现您想要的任何结果。享受编码带来的快乐!

The return value from your anonymous function is completely ignored. You can store the variable anywhere that is accessible from your current scope. E.g.

var Database = function {
  var myText = null;

  return {    

    getUser: function(username, password, callback) {
      db.model("users").findOne({username: username, password: password}, {type:1},
           function(err, data) {
             if (err) {
               myText = "Error";
             }
             else if (data.length == 0) {
               myText = "No records";
             }
             else {
               myText = data.type
             }

             $('.log').html(myText);
             callback(myText);
      });
    };
  };
}();

From server.js, you could then call:

Database.getUser(username, password, function(theText) { alert(theText); });

You will need to be clever about how different elements interact since Javascript with callbacks does not run synchronously. That said, it should be possible to achieve any result you are looking for. Enjoy and happy coding!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文