我在Auth0上创建了一个新的数据库连接,称为local-mongo,并且尝试使用Create脚本在本地mongoDB上创建用户,但我不断收到此Socket Hang Up错误:

[Error] Error: socket hang up
at createHangUpError (_http_client.js:211:15)
at Socket.socketOnEnd (_http_client.js:303:23)
at emitNone (events.js:72:20)
at Socket.emit (events.js:166:7)
at endReadableNT (_stream_readable.js:913:12)
at nextTickCallbackWith2Args (node.js:442:9)
at process._tickDomainCallback (node.js:397:17)

在Auth0上创建脚本模板如下:
function create (user, callback) {
   mongo('mongodb://localhost:27107.com/my-db', function (db) {
   var users = db.collection('users');

   users.findOne({ email: user.email }, function (err, withSameMail) {

  if (err) return callback(err);
  if (withSameMail) return callback(new Error('the user already exists'));

  bcrypt.hash(user.password, 10, function (err, hash) {
    if (err) { return callback(err); }
    user.password = hash;
    users.insert(user, function (err, inserted) {
      if (err) return callback(err);
      callback(null);
    });
  });
});
});
}

我是否需要ngrok才能连接到本地数据库,或者在这里是否缺少其他方式?任何帮助将不胜感激。

最佳答案

在上面的脚本的基础上,您的问题是如何与localhost连接,那么答案是肯定的。

如果适合您的情况,您可能只想使用mongo云服务提供商,因为这样您将自动获得云访问权限。或者只是安装在Amazon EC2实例上并设置安全组以允许在所需的端口等上进行访问。

但是,是的,从根本上讲,这些是您的选择。必须与您的数据库服务器建立网络连接。另一种方法是在自定义数据库脚本和后端数据库之间放置一个API。

有关执行此操作的Node.js示例示例,请参见此处:

node api sample

有关自定义数据库脚本的信息,请参见此处:

postgres custom db scripts

您可以修改以上内容以改为使用mongo。只是一个想法而已。

关于node.js - Auth0-如何在具有Auth0的本地主机上使用mongoDB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42202359/

10-11 15:57