mongodb操作之mongoose
来源:互联网 发布:大数据工具简单 编辑:程序博客网 时间:2024/04/27 03:05
/**
* Created by chaozhou on 2015/10/6.
*/
var mongoose = require("mongoose");
var db = mongoose.createConnection("127.0.0.1", "cms");
//链接错误监听
db.on("error", function (error) {
console.log(error);
});
//Schema结构
var userSchema = new mongoose.Schema({
userName: {type: String, default: '匿名用户'},
trueName: mongoose.Schema.Types.String,
title: {type: String},
content: {type: String},
time: {type: Date, default: Date.now()},
age: {type: Number}
});
//添加实例方法
userSchema.methods.findByUserName = function (userName, callBack) {
return this.model("user").find({userName: userName}, callBack);
};
//添加静态方法,静态方法在model层就能使用
userSchema.statics.findByTitle = function (title, callBack) {
return this.model("user").find({title: title}, callBack);
};
//model层
var userModel = db.model("user", userSchema);
//entity层
var doc = {userName: 'entity_demo_username', title: 'entity_demo_title', content: 'entity_demo_content'};
var userEntity = new userModel(doc);
//添加记录,基于entity的操作方式
userEntity.save(function (err) {
if (err) {
console.log(err);
} else {
console.log("saved ok");
}
});
//增加记录,基于model的操作方式
var doc2 = {username: 'model_demo_username', title: 'model_demo_title', content: 'model_demo_content'};
userModel.create(doc2, function (err) {
if (err) {
console.log(err);
} else {
console.log("saved ok");
}
db.close(); //关闭数据库链接
});
//修改记录,args:conditions, update, options, callback
userModel.update({userName: 'model_demo_username'}, {
$set: {
age: 27,
title: 'model_demo_title_update'
}
}, {upsert: false}, function (err) {
if (err) {
console.log(err);
} else {
console.log("update ok");
}
db.close();
});
//查询,基于实例方法的查询
userEntity.findByUserName('model_demo_username', function (err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
}
db.close();
});
//查询,基于静态方法的查询
userModel.findByTitle('model_demo_title', function (err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
}
db.close();
});
//查询,args:criteria, fields, options, callBack
userModel.find({title: 'entity_demo_title'}, {title: 1, content: 1, time: 1}, function (err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
}
db.close();
});
//删除记录
userModel.remove({userName: 'entity_demo_username'}, function (err, result) {
if (err) {
console.log(err);
} else {
console.log('delete ok');
}
db.close();
});
0 0
- mongodb操作之mongoose
- mongodb & mongoose 常用操作
- Nodejs mongoose操作mongodb
- Mongoose 操作MongoDB
- Node.js 模块之【mongoose】MongoDB操作模块
- mongoose 操作mongodb数据库的
- MongoDB之Mongoose的使用
- MongoDB之Mongoose的使用
- 在node 中用mongoose来操作mongodb
- mongoose - 让node.js高效操作mongodb
- nodejs操作mongodb数据库(mongoose)
- nodejs mongoose 操作mongodb 数据库封装
- Node.js结合mongoose操作MongoDB
- 利用mongoose操作mongodb数据库(一)
- MongoDB学习笔记之Mongoose的使用
- MongoDB学习笔记之Mongoose的使用
- Mongoose – 让NodeJS更容易操作Mongodb数据库
- Mongoose - 让NodeJS更容易操作Mongodb数据库
- c语言-2048
- Json 解析
- Codeforces Round #323 (Div. 2) D题 (LIS)
- 项目一所遇到的问题摘录
- 数组实现约瑟夫循环
- mongodb操作之mongoose
- FZU Problem 2198 快来快来数一数(矩阵快速幂 卡常数 +优化)
- 菜鸟学数据库(二)——触发器
- Maven 学习 - 入门
- 测试ISO9126
- --allow-file-access-from-files 命令的使用
- 如何判断应用程序是以管理员身份运行,和如何判断应用程序是以提升的权限来启动的,还是正在使用筛选的令牌运行
- 搭建Ubuntu平台上的代码搜索引擎
- Kullback–Leibler divergence(相对熵,KL距离,KL散度)