//用户
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: "yoyo",
username:"cwj",
pwd:"",
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)});

用mongoose实现mongodb增删改查的更多相关文章

  1. 数据库——MongoDB增删改查

    MongoDB增删改查操作 本文包含对数据库.集合以及文档的基本增删改查操作 数据库操作 #1.增 use config #如果数据库不存在,则创建并切换到该数据库,存在则直接切换到指定数据库. #2 ...

  2. MongoDB - 增删改查及聚合操作

    目录 MongoDB - 增删改查及聚合操作 一. 数据库操作(database) 1. 创建及查看库 2. 删除库 二. 集合collectionc=操作(相当于SQL数据库中的表table) 1. ...

  3. [MongoDB]增删改查

    摘要 上篇文章学习了mongodb在windows上的安装,以及如何开启mongodb,最后列举了简单的增删改查操作.本篇将继续深入学习一下增删改查. 相关文章 [MongoDB]入门操作 CRUD ...

  4. springMVC操作mongoDB增删改查

    下面是mongoDb简单的增删改查(新闻类) 附:query.addCriteria(Criteria.where("modelId").ne("").ne(n ...

  5. 第二部分 Mongodb增删改查

    学习内容:1.mongodb增加操作2.mongodb删除操作3.mongodb查询操作增删改查的高级应用Capped Collection(固定集合)GridFS 大文件上传或下载 1: inser ...

  6. MongoDB(六)java操作mongodb增删改查

    java操作mysql数据库的代码我们已经了如指掌了.增删改查,java对mongodb数据库也是类似的操作,先是数据库连接.再是进行操作. 首先我们进入进入admin数据库.然后建立自己的数据库te ...

  7. MongoDB增删改查表文档

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,是一个基于分布式文件存储的开源数据库系统.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...

  8. mongodb增删改查操作

    Note:mongodb存储的是文档,且文档是json格式的对象,所以增删改查都必须是json格式对象. 注:mongodb常用库和表操作,但mongodb在插入数据时,不需要先创建表. show d ...

  9. mongodb增删改查常用命令总结

    前言 去年我还折腾过mongodb,后来用不到也就没碰了,这就导致了我忘的一干二净,不得不感叹,编程这东西只要不用,就会忘没了.现在我想重拾mongodb,来总结一下常用命令,主要就是增删改查. 另外 ...

随机推荐

  1. vue实现点击关注之后及时更新列表

    如图,我要实现点击关注之后列表及时更新成最新的列表. 思路很简单,主要是两点: 1.在点击关注之后去执行一个请求新的关注列表的action: 2.在vue组件中watch监听已关注列表和推荐关注列表 ...

  2. Winform窗体控件自适应大小

    自己写的winform窗体自适应大小代码,代码比较独立,很适合贴来贴去不会对原有程序造成影响,可以直接继承此类或者把代码复制到自己的代码里面直接使用 借鉴了网上的一些资料,最后采用重写WndProc方 ...

  3. mysql中查看某个日期是星期几?如何知道某个日期是星期几?某个日期是周几?

    需求描述: mysql中,如果要查看某个日期是星期几,可以用date_format函数实现,在此记录下. 操作过程: 1.通过date_format函数查看某个日期是星期几 mysql> sel ...

  4. Android沉浸式状态栏兼容4.4手机的实现

    一.概述 最近注意到QQ新版使用了沉浸式状态栏,ok.先声明一下:本篇博客效果下图: 关于这个状态栏变色究竟叫「Immersive Mode」/「Translucent Bars」有兴趣能够去 为什么 ...

  5. 转换python脚本为可执行程序的方式

    背景: 部分工具使用python脚本编写,而目标服务器,没有安装python包,导致使用工具不方便,还需要另外安装python. 目前主要有2个主流软件,可做此类转换,把对应工具脚本转换为exe: p ...

  6. PHP代码审计笔记--CSRF漏洞

    0x01 前言 CSRF(Cross-site request forgery)跨站请求伪造.攻击者盗用了你的身份,以你的名义向第三方网站发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻 ...

  7. RAC的搭建(二)--创建ASM磁盘

     1. 规划 表决磁盘: 1Gx3(3节点以下,建议都采用这种配置,三个磁盘加起来要大于1.8G,否则会报错) 数据磁盘: 10Gx1 闪回磁盘: 5Gx1 2. 创建共享磁盘 virtualBox上 ...

  8. [Git] 解决 insufficient permission for adding an object to repository database

    [环境] OS: CentOS 6.5 Git: 1.7.1 [症状描述] Git 中心仓库路径 ~/project.git,克隆库路径 ~/project.clone,克隆库中包含一个文件 ~/pr ...

  9. 启用PAE后虚拟地址到物理地址的转换

      34 注册:2013-10 帖子:2013 精华:34 --> [原创]启用PAE后虚拟地址到物理地址的转换 安于此生 2013-11-3 20:54 16073 由常规的两级页表转换得不到 ...

  10. Find–atime –ctime –mtime的用法与区别总结

    转自 周五有同事问起find命令中-mtime n.-mtime –n以及-mtime +n的用法区别,当时虽然记得这里n是n个24个小时的意思,也是对所有这几个属性详细的用法却一知半解,索性周末仔细 ...