viy*_*ncs 9 javascript mongoose mongodb node.js
当我想在nodejs中包含mongoose的模型时,我有一个问题,我正在创建一个模式,这样的模式
var mongoose = require('mongoose')
, Schema = mongoose.Schema;
var Users = new Schema({
idUser : {type:String},
username: {type:String}
});
// middleware
Users.pre('save', function (next,done) {
notify(this.get('email') + done);
// something goes wrong
next(new Error('something went wrong'));
});
//registered on mongoose models
mongoose.model("Users",Users);
Run Code Online (Sandbox Code Playgroud)
我保存在folde models/schema.js但我不知道如何在app.js中调用该文件,当我尝试使用此代码时
var mongoose = require('mongoose')
, models = require('./models/schema.js');
//mongoose configurationfor database;
var db = mongoose.connect("mongodb://localhost/vynchat");
var users = mongoose.model("Users");
users.save();
Run Code Online (Sandbox Code Playgroud)
我尝试开始时有错误 sudo node app.js
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Object function model() {
Model.apply(this, arguments);
} has no method 'save'
at Object.<anonymous> (/opt/development/vynapp/app.js:18:7)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Array.0 (module.js:479:10)
at EventEmitter._tickCallback (node.js:192:40)
Run Code Online (Sandbox Code Playgroud)
错误模型()没有方法保存...我怎么能解决这个问题?
你在打电话users.save();,但是,users是一个模特.
这些save方法可用于模型实例,例如:
var mongoose = require('mongoose')
, models = require('./models/schema');
var db = mongoose.connect("mongodb://localhost/vynchat")
, Users = mongoose.model("Users");
var user = new User({
"your": "data"
});
user.save(function (err, model) {
if (err) throw err;
console.log("My new User is saved",
"`save` hook worked as espected since we had no errors here");
});
Run Code Online (Sandbox Code Playgroud)
您应该阅读node.js 模块API并仔细阅读mongoose API.
作为旁注:当您require('mongoose')第一次在代码节点中为您提供mongoose连接器的实例时,后续要求将产生相同的对象.
| 归档时间: |
|
| 查看次数: |
9379 次 |
| 最近记录: |