我是Node js和mongoose的新手。我只是试图创建一个数据库并向其中添加数据。 我有users.js,已在其中连接到db并创建了架构。
users.js
var mongoose = require('mongoose');
// make a connection
mongoose.connect('mongodb://localhost:27017/login_details', { useNewUrlParser: true });
// get reference to database
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
console.log("Connection Successful!");
// define Schema
var UserSchema = mongoose.Schema({
name: String,
username: { type: String, required: true, unique: true },
password: { type: String, required: true }
});
// compile schema to model
var User = mongoose.model('User', UserSchema);
// a document instance
module.exports = {User};
});
在test.js中,我试图创建一个新用户。
test.js
var mongoose = require('mongoose')
var User = require("./users");
//Load all your models
//var User = require('./users');
// create a new user called chris
var saps = new User({
name: 'Midoriya',
username: 'deku',
password: 'password'
});
// call the built-in save method to save to the database
saps.save(function(err) {
if (err) throw err;
console.log('User saved successfully!');
});
执行test.js时出现以下错误。
var saps = new User({
^
TypeError: User is not a constructor
at Object.<anonymous> (/home/sapan/nodejsdev/websocket-test/test.js:7:12)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
答案 0 :(得分:0)
您需要将其移出(933, 4139)
(933, 6597069777240)
(933, 10995116284808)
(933, 32985348833579)
(933, 32985348838375)
(1129, 1242)
(1129, 2199023262543)
(1129, 6597069771886)
(1129, 6597069776731)
上下文:
db.once
由于已定义它们,因此它们在该上下文中是本地的,在任何其他情况下均不可用。