nodejs对mongodb数据库的增删改查操作(转载)
首先要确保mongodb的正确安装,安装参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-linux
另外可以参考我的另一篇博文
http://www.cnblogs.com/sexintercourse/p/5774310.html
指导mongo和nodejs的开发
然后下载nodejs的mongodb的driver
npm install mongodb
编写一个测试的程序:
1 var mongodb = require('mongodb');
2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
3 var db = new mongodb.Db('mydb',server,{safe:true});
4 db.open(function(err,db){
5 if(!err)
6 {
7 console.log('connect');
8 }else{
9 console.log(err);
10 }
11
12 });
如果最终显示connect则说明成功。
对mongodb的collection的操作
有两种方法链接collection,分别为:
db.collection('mycoll',function(err,coll){});
db.createCollection('mycoll',function(err,coll){});
这两种方法还有第二个可选参数{safe:true},这个参数的作用对于第一种方法,如果加上了这个参数,那么当collection不存在的时候则报错,对于第二种方法,则当collection存在的时候报错
示例:
1 var mongodb = require('mongodb');
2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
3 var db = new mongodb.Db('mydb',server,{safe:true});
4 db.open(function(err,db){
5 if(!err)
6 {
7 console.log('connect');
8 db.collection('mycoll',{safe:true},function(err,collection){
9 if(err){
10 console.log(err);
11 }
12 });
13
14 }else{
15 console.log(err);
16 }
17
18 });
结果如图所示:

示例:
1 var mongodb = require('mongodb');
2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
3 var db = new mongodb.Db('mydb',server,{safe:true});
4 db.open(function(err,db){
5 if(!err)
6 {
7 console.log('connect');
8 db.createCollection('mycoll',{safe:true},function(err,collection){
9 if(err){
10 console.log(err);
11 }
12 });
13
14 }else{
15 console.log(err);
16 }
17
18 });
结果如图所示:

删除collection则使用dropCollection函数即可:
示例:
1 var mongodb = require('mongodb');
2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
3 var db = new mongodb.Db('mydb',server,{safe:true});
4 db.open(function(err,db){
5 if(!err)
6 {
7 console.log('connect');
8 db.dropCollection('mycoll',{safe:true},function(err,result){
9 console.log(result);
10 });
11
12 }else{
13 console.log(err);
14 }
15
16 });
结果如图所示:

对collection进行增删改查
向collection添加数据使用insert函数
示例:
1 var mongodb = require('mongodb');
2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
3 var db = new mongodb.Db('mydb',server,{safe:true});
4 db.open(function(err,db){
5 if(!err)
6 {
7 db.collection('mycoll',{safe:true},function(err,collection){
8 var tmp1 = {title:'hello',number:1};
9 collection.insert(tmp1,{safe:true},function(err,result){
10 console.log(result);
11 });
12 });
13 }else{
14 console.log(err);
15 }
16
17 });
结果如图:

对数据进行更新:
示例:
1 var mongodb = require('mongodb');
2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
3 var db = new mongodb.Db('mydb',server,{safe:true});
4 db.open(function(err,db){
5 if(!err)
6 {
7 db.collection('mycoll',{safe:true},function(err,collection){
8 collection.update({title:'hello'},{$set:{number:3}},{safe:true},function(err,result){
9 console.log(result);
10 });
11
12 }else{
13 console.log(err);
14 }
15
16 });
17
结果如图所示:

对数据进行删除使用remove函数
示例:
1 var mongodb = require('mongodb');
2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
3 var db = new mongodb.Db('mydb',server,{safe:true});
4 db.open(function(err,db){
5 if(!err)
6 {
7 db.collection('mycoll',{safe:true},function(err,collection){
8 collection.remove({title:'hello'},{safe:true},function(err,result){
9 console.log(result);
10 });
11
12 }else{
13 console.log(err);
14 }
15
16 });
结果如图:

如果remove没有任何的参数,则删除全部。
查找操作,查找操作有两个方法一个是find,一个是findOne
示例:
1 var mongodb = require('mongodb');
2 var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
3 var db = new mongodb.Db('mydb',server,{safe:true});
4 db.open(function(err,db){
5 if(!err)
6 {
7 db.collection('mycoll',{safe:true},function(err,collection){
8 var tmp1 = {title:'hello'};
9 var tmp2 = {title:'world'};
10 collection.insert([tmp1,tmp2],{safe:true},function(err,result){
11 console.log(result);
12 });
13 collection.find().toArray(function(err,docs){
14 console.log('find');
15 console.log(docs);
16 });
17 collection.findOne(function(err,doc){
18 console.log('findOne');
19 console.log(doc);
20 });
21 });
欢迎捐赠
nodejs对mongodb数据库的增删改查操作(转载)的更多相关文章
- 69.nodejs对mongodb数据库的增删改查操作
转自:https://www.cnblogs.com/sexintercourse/p/6485381.html 首先要确保mongodb的正确安装,安装参照:http://docs.mongodb. ...
- 利用koa实现mongodb数据库的增删改查
概述 使用koa免不了要操纵数据库,现阶段流行的数据库是mongoDB,所以我研究了一下koa里面mongoDB数据库的增删改查,记录下来,供以后开发时参考,相信对其他人也有用. 源代码请看:我的gi ...
- PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码
PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件- ...
- python web.py操作mysql数据库,实现对数据库的增删改查操作
使用web.py框架,实现对mysql数据库的增删改查操作: 该示例代码中连接的是本地数据库testdb,user表,表结构比较简单,只有两个字段:mobile和passwd,类型均为字符型 实际应用 ...
- TP5.1:数据库的增删改查操作(基于面向对象操作)
我们现实中对数据库的增删改查操作,都是使用模型类进行操作的(表名::),也就是面向对象操作,只有底层的代码用的是数据库操作(Db::table('表名')) 下面我将贴出模型类进行的增删改查操作,通过 ...
- 通过jdbc连接MySql数据库的增删改查操作
一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...
- TP5.1:数据库的增删改查操作(基于数据库操作)
1.在app/index/controller文件夹下创建一个文件,名为:Operation 注意:起名一定要避开关键字,例如:mysql,curd等等,如果使用关键字起名,会造成报错! 在Opera ...
- 使用nodejs连接mysql数据库实现增删改查
首先要有数据库 使用xampp 或者 phpstudy 可以傻瓜式安装 新建一个项目文件夹 之后在这个目录下初始化package.json (npm init) 先在项目中安装mysql 和 ex ...
- greendao对SQLite数据库的增删改查操作
利用greendao操作数据库时,都是以对象或者对象的list来进行增删改查的操作,操作的结果都是用一个list来接收的!!! 1.增加一条记录 Stu stu01=new Stu();stu01.s ...
随机推荐
- IDEA如何刷新pom文件
被新手问到了“IDEA如何刷新pom文件?”这个问题,想来这是一个不好意思问的常犯的错误吧. 在IDEA中,修改了pom.xml文件,添加了依赖以后,一般会弹出以下这个警告来. 点击[Import C ...
- emwin 解决在A窗口上新建B窗口后‘只激活’B窗口问题
@2018-08-08 问题来源: 要实现A窗口上的参数修改,通过A窗口上新建的B窗口小键盘实现数据录入,但结果是只要点击A窗口上的任何地方(包括B窗口上的任意位置),则B窗口就消失了 解决办法: 使 ...
- AutoCompleteTextView和自定义的CursorAdapter
用雅虎天气接口和AutoCompleteTextView开发天气应用(1) 2014/03/20 | 分类: ANDROID, 开发 | 2 条评论 | 标签: 天气, 安卓开发 分享到:5 jQue ...
- 【LOJ#6282】数列分块6
题目大意:给定一个由 N 个数组成的序列,维护两种操作:单点询问,单点插入.N < 100000 题解:在块内维护一个链表,支持动态插入数字,同时对于非随即数据来说,若块的大小过大,需要重构. ...
- JAVA过滤器的使用(Filter)
request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf ...
- 简单认识python(一)
最近本宝宝被一部小说迷的神魂颠倒的,在网络上四处找免费的小说资源,一直哭唧唧的等待着每天更新的一章.实在是太可怜了,本宝宝决定自己学python,自己抓包小说. 既然知道目的地了,那就和本宝宝一起打怪 ...
- ReactNative快速入门
首先放图 这就是我通过简单的搭建环境写出的helloworld和使用的button组件. 那么搭建环境如何搭建呢? 使用的软件有:Node 最新版,Python2.7,Android环境要有配置And ...
- MATLAB:图像二值化、互补图(反运算)(im2bw,imcomplement函数)
图像二值化.反运算过程涉及到im2bw,imcomplement函数,反运算可以这么理解:原本黑的区域变为白的区域,白的区域变为黑的区域. 实现过程如下: close all; %关闭当前所有图形窗口 ...
- 将make的输出重定向到文件(转)
原文:将make的输出重定向到文件 [用法] 1.想要把make输出的全部信息,输出到某个文件中,最常见的办法就是:make xxx > build_output.txt此时默认情况是没有改变2 ...
- Java + 腾讯邮箱 SSL加密问题 重要通知
原来的jdk8版本如果不替换jce就会在发邮件的过程中报错,而此次使用的jdk1.8.0_131,并没有出现问题,也就是说,如果你使用的版本是 就不用考虑发邮件因为加密算法而导致的错误了