如何使用用户名和密码连接 mongodb(mongoose)?

par*_*nfo 2 mongoose mongodb node.js

我有 mongoose 的用户名和密码,我使用这个 url 使用 mongoose 连接 mongodb

我试试这个:

var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://adminuser:123456@localhost:2017/mydb');
Run Code Online (Sandbox Code Playgroud)

猫鼬模式是

  // grab the things we need
  var mongoose = require('mongoose');
  var Schema = mongoose.Schema;

  // create a schema
  var userSchema = new Schema({
  name: String,
  username: { type: String, required: true, unique: true },
  password: { type: String, required: true },
  admin: Boolean,
  location: String,
  meta: {
  age: Number,
  website: String
  },
  created_at: Date,
  updated_at: Date
  });

  // the schema is useless so far
  // we need to create a model using it
  var User = mongoose.model('User', userSchema);

  // make this available to our users in our Node applications
  module.exports = User;
Run Code Online (Sandbox Code Playgroud)

我的控制器是

    router.post('/signup',function(req,res){
     console.log("Inside")
     var useR= new User({
      name: 'Chris',
      username: 'sevilayha',
      password: 'password' 
     });
     useR.save(function(err) {
      if (err) throw err;
      console.log('User saved successfully!');
     });
    });
Run Code Online (Sandbox Code Playgroud)

但它没有存储在数据库中。

Bha*_*rat 9

几年后,在这里更新新的连接代码并添加其他选项 -

mongoose.connect(
  'mongodb://user:pass@myhost:27017/my-db?authSource=admin',
  {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  },
  (err) => {
    if (err) {
      console.error('FAILED TO CONNECT TO MONGODB');
      console.error(err);
    } else {
      console.log('CONNECTED TO MONGODB');
      app.listen(80);
    }
  }
);
Run Code Online (Sandbox Code Playgroud)


Sul*_*han 6

首先使用 on 事件检查它是否已连接或节点。

mongoose.connect('mongodb://adminuser:123456@localhost:2017/mydb');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback () {
  console.log("h");
});

exports.test = function(req,res) {
  console.log(res)
};
Run Code Online (Sandbox Code Playgroud)