全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解Nodejs基于mongoose模块的增删改查的操作

MongoDB

MongoDB是基于Javascript语言的数据库,存储格式是JSON,而Node也是基于JavaScript的环境(库),所以node和mongoDB的搭配能减少因为数据转换带来的时间空间开销。

Mongoose

是MongoDB的一个对象模型工具,它将数据库中的数据转换为JavaScript对象以供你在应用中使用,封装了MongoDB对文档的的一些增删改查等常用方法,让NodeJS操作Mongodb数据库变得更加灵活简单。

安装模块mongoose

npm install mongoose

[注意] mongoose模块依赖mongodb

npm常用命令

npm install <name> -g 将包安装到全局环境中

npm install <name> –-save 安装的同时,将信息写入package.json中,便于后期维护查看

npm remove <name>移除

npm update <name>更新

npm root -g 查看全局的包安装路径 

npm -v 查看npm的版本

开启mongodb数据库

进入mongod所在目录 执行命令 ./mongod --dbpath=存放数据的位置

例1:./mongod --dbpath=../data/dbname

例2:./mongod --dbpath=../data/dbname --port 自定义端口号,默认27017(了解即可,不推荐使用,修改默认端口号后期维护麻烦)

插入数据

// 引入模块
var mongoose = require('mongoose');
// 连接数据库
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// 设置数据类型
var monSchema = new mongooose.Schema({
 name:{type:String,default:"username"},
 age:{type:Number},
 sex:{type:String}
});
// 选择集合
var monModel = db.model('user',monSchema);
// 数据集
var content = {name:"Nick",age:23,sex:'男'};
// 实例化对象并插入数据
var monInsert = new monModel(content);
monInsert.save(function(err){
 if(err){
 console.log(err);
 }else{
 console.log('成功插入数据');
 }
 db.close();
});

删除数据

// 引入模块
var mongoose = require('mongoose');
// 连接数据库
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// 设置数据类型
var monSchema = new mongooose.Schema({
 name:{type:String,default:"name"},
 age:{type:Number},
 sex:{type:String}
});
// 选择集合
var monModel = db.model('user',monSchema);
// 要删除的条件
var del = {name:"Nick"};

monModel.remove(del,function(err,result){
 if(err){
 console.log(err);
 }else{
 console.log("update");
 }
 db.close();
});

修改数据

// 引入模块
var mongoose = require('mongoose');
// 连接数据库
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// cosole.log(db);
// 设置数据类型
var monSchema = new mongooose.Schema({
 name:{type:String,default:"name"},
 age:{type:Number},
 sex:{type:String}
});
// 选择集合
var monModel = db.model('user',monSchema);
// 原数据字段值
var oldValue = {name:"Nick"};
// 单条件更新
var newData1 = {$set:{name:"内容"}};
// 多条件更新
var newData2 = {$set:{name:"内容",age:2}};
monModel.update(oldValue,newData,function(err,result){
 if(err){
 console.log(err);
 }else{
 console.log("update");
 }
 db.close();
});

查询数据

// 引入模块
var mongoose = require('mongoose');
// 连接数据库
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// cosole.log(db);
// 设置数据类型
var monSchema = new mongooose.Schema({
 name:{type:String,default:"name"},
 age:{type:Number},
 sex:{type:String}
});
// 选择集合
var monModel = db.model('user',monSchema);
var content = {name:"姓名2"};
var field = {name:1,age:1,sex:1};
monModel.find(content,field,function(err,result){
 if(err){
 console.log(err);
 }else{
 console.log(result);
 }
 db.close();
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# nodejs操作mongoose  # mongoose增删改查  # nodejs连接mongoose  # egg.js的基本使用和调用数据库的方法示例  # 关于自定义Egg.js的请求级别日志详解  # KOA+egg.js集成kafka消息队列的示例  # mongoose更新对象的两种方法示例比较  # 关于在mongoose中填充外键的方法详解  # 利用Mongoose让JSON数据直接插入或更新到MongoDB  # 关于mongoose连接mongodb重复访问报错的解决办法  # Mongoose 在egg中的使用详解  # 连接数据库  # 后期  # 端口号  # 你在  # 推荐使用  # 自定义  # 装了  # 转换为  # 它将  # 数据库中  # 变得更加  # 多条  # 大家多多  # 以供  # 移除  # 文档  # 是基于  # install  # bash  # npm 


相关文章: 制作宣传网站的软件,小红书可以宣传网站吗?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  家具网站制作软件,家具厂怎么跑业务?  建站之星如何助力网站排名飙升?揭秘高效技巧  音乐网站服务器如何优化API响应速度?  网页设计与网站制作内容,怎样注册网站?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  山东云建站价格为何差异显著?  建站之星2.7模板:企业网站建设与h5定制设计专题  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  如何设计高效校园网站?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Python多线程使用规范_线程安全解析【教程】  如何在Windows 2008云服务器安全搭建网站?  如何通过FTP空间快速搭建安全高效网站?  网站制作公司排行榜,四大门户网站排名?  如何用AWS免费套餐快速搭建高效网站?  在线制作视频的网站有哪些,电脑如何制作视频短片?  电商网站制作价格怎么算,网上拍卖流程以及规则?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  家庭服务器如何搭建个人网站?  建站之星安装需要哪些步骤及注意事项?  如何快速生成可下载的建站源码工具?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  c# await 一个已经完成的Task会发生什么  seo网站制作优化,网站SEO优化步骤有哪些?  如何设置并定期更换建站之星安全管理员密码?  建站之星北京办公室:智能建站系统与小程序生成方案解析  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  长沙做网站要多少钱,长沙国安网络怎么样?  深圳网站制作培训,深圳哪些招聘网站比较好?  建站ABC备案流程中有哪些关键注意事项?  c++怎么用jemalloc c++替换默认内存分配器【性能】  宁波免费建站如何选择可靠模板与平台?  建站上传速度慢?如何优化加速网站加载效率?  Swift中swift中的switch 语句  模具网站制作流程,如何找模具客户?  如何在服务器上三步完成建站并提升流量?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  定制建站方案优化指南:企业官网开发与建站费用解析  专业公司网站制作公司,用什么语言做企业网站比较好?  建站之星×万网:智能建站系统+自助建站平台一键生成  官网网站制作腾讯审核要多久,联想路由器newifi官网  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何选择靠谱的建站公司加盟品牌?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  相册网站制作软件,图片上的网址怎么复制? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。