Node.js中使用MongoDB
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Node.js 和 Mongoose 插入 MongoDB