首页 > 代码库 > Node.js中使用MongoDB
Node.js中使用MongoDB
MongoDB是一个通用型的NoSQL,在很多地方得到了广泛的应用。接下来我们看如何在Node.js中使用MongoDB数据库。
1、环境安装
首先从MongoDB官网中下载、安装,配置好环境变量,保证mongod命令可以顺利启动。然后利用npm install mongodb安装MongoDB模块。
2、启动数据库
我们在命令行输入mongod命令,启动数据库。MongoDB默认绑定端口27017,要防止其他应用占用了这个端口,导致数据库无法启动。当数据库成功启动后,会出现OK提示语,如下图所示:
然后我们可以输入mongo命令,就可以在命令行中对数据库进行操作。
3、插入操作
启动数据库后,我们先编写插入操作。
var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) { if (err) throw err; client.collection(‘test_insert‘, function(err, collection) { if (err) throw err; collection.insert( { "title": "I like cake", "body": "It is quite good." }, {safe: true}, function(err, documents) { if (err) throw err; //console.log(‘Document ID is: ‘ + documents[0]._id); } ); console.log(‘We are now able to perform queries.‘); });});
为了检验数据是否真的被插入数据库,我们在命令行执行如下操作(得先输入mongo命令):
可以看到,数据确实被插入到数据库mydatabase的test_insert集合中。
4、查询操作
var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) { if (err) throw err; client.collection(‘test_insert‘, function(err, collection) { if (err) throw err; collection.find({"title": "I like cake"}).toArray( function(err, results) { if (err) throw err; console.log(results); } ); });});
运行上面的代码,得到的结果如下:
可以看出,这正是我们插入的数据。
5、更新操作
var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) { if (err) throw err; client.collection(‘test_insert‘, function(err, collection) { if (err) throw err; collection.update({"title": "I like cake"}, {$set: {"body": "It is so bad"}}, {safe: true}, function(err) { if (err) throw err; } ); });});
运行上面的代码,结果如下:
可以看到,文档的body已经被更新。
6、删除操作
var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) { if (err) throw err; client.collection(‘test_insert‘, function(err, collection) { if (err) throw err; collection.remove({"title": "I like cake"}, {safe: true}, function(err) { if (err) throw err; } ); });});
运行代码后,结果如下:
文档被删除。
Node.js中使用MongoDB
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。