//用戶 var mongoose = require("mongoose"), setting = require("./setting"); //配置鏈接數據庫方法 var connect = function(){ //mongoose.connect('mongodb://localhost/test'); mongoose.connect("mongodb://" + setting.host +"/"+ setting.db); // db = mongoose.createConnection("localhost","test"); //db.on("error",console.error.bind(console,'鏈接錯誤:')) } //鏈接放在外面就能夠屢次操做,否則只能操做一次 connect(); //關閉數據庫鏈接 //mongoose.connection.close() // var Schema = mongoose.Schema; // var userSchema = new Schema({}); //這種寫法有點相似 object = Object();返回的也是對象 //usersSchema = mongoose.Schema; var usersSchema = new mongoose.Schema({ name: String, username:String, pwd:String, weibo:String, email:String }); var usersModel = mongoose.model('User', usersSchema); function User(user){ this.name = user.name, this.username = user.username, this.pwd = user.pwd, this.weibo = user.weibo, this.email = user.email }; module.exports = User; //儲存用戶數據 User.prototype.save = function(callback){ //要存入的用戶文檔 var user = { name:this.name, username:this.username, pwd:this.pwd, weibo:this.weibo, email:this.email }; //鏈接數據庫 //connect(); //var newUser = usersModel(user); var newUser = new usersModel(user); newUser.save(function(err, user){ if(err){ return callback && callback(err); } callback && callback(null,user); }) }; //獲取1條用戶數據 User.get = function(query,callback){ //鏈接數據庫 // connect(); usersModel.findOne(query, function (err, user) { if (err) { return callback && callback(err); } callback && callback(null,user);//成功,返回數據 }); }; //獲取全部的用戶數據 User.getAll = function(callback){ //鏈接數據庫 // connect(); usersModel.find(function (err, user) { if (err) { return callback && callback(err); } callback && callback(null,user);//成功,返回數據 }); }; //獲取id數據 User.findById = function(_id,callback){ //鏈接數據庫 // connect(); usersModel.findById(_id,function (err, user) { if (err) { return callback && callback(err); } callback && callback(null,user);//成功,返回數據 }); }; //刪除用戶數據 只有狀態碼{result:{ok:1,n:0},connection:{……},options{……}} User.remove = function(query,callback){ //鏈接數據庫 // connect(); usersModel.remove(query, function (err, user) { if (err) { return callback && callback(err); } callback && callback(null,user);//成功,返回數據 }); }; //獲取用戶數據 只有狀態碼{ok:1,nModified:1,n:1} User.update = function(query,opt,callback){ //鏈接數據庫 // connect(); usersModel.update(query,opt,function (err, user) { if (err) { return callback && callback(err); } callback && callback(null,user);//成功,返回數據 }); }; var cat = { name: "yoyo77", username:"cwj", pwd:"123456", weibo:"pingfan", email:"pingfan1991110@sina.cn" }; var Cat = new User(cat); //保存 //Cat.save(function(err,user){console.log(user);}) //User.findById("557683e7297334ac29068af6",function(err,user){console.log(user);}); //查詢 //User.get({name: "yoyo22"},function(err,user){console.log(user)}); //User.getAll(function(err,user){console.log(user)}) //mongoose.connection.close(); //刪除一條 //User.remove({name: "yoyo11"},function(err,msg){console.log(msg)}); //刪除全部 //User.remove(null,function(err,msg){console.log(msg)}); //User.remove({},function(err,msg){console.log(msg)}); //更新一條數據 //User.update({name: "yoyo"},{username:"cwj",pwd:"234556",weibo:"kskk"},function(err,msg){console.log(msg)});