MongoDB学习(2)—Node.js与MongoDB的基本连接示例
2015-03-05 01:30
796 查看
前提
已经安装了node.js和MongoDB,本文使用的node.js是v0.12.0,MongoDB是3.0.0。初始化数据
启动MongoDB服务,在test数据库中插入一条实例数据:db.user.install({name:"scaleworld",age:27});
在Node.js中引入MongoDB模块
npm install mongodb
编写mongodbDemo.js
var mongodb = require('mongodb'); var server = new mongodb.Server("localhost",27017,{safe:true}); new mongodb.Db('test',server,{}).open(function(error,client){ if(error) throw error; var collection = new mongodb.Collection(client,'user'); collection.find(function(error,cursor){ cursor.each(function(error,doc){ if(doc){ console.log("name:"+doc.name+" age:"+doc.age); } }); }); });
运行
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' } js-bson: Failed to load c++ bson extension, using pure JS version ================================================================================ Please ensure that you set the default write concern for the database by setting = = one of the options = = = = w: (value of > -1 or the string 'majority'), where < 1 means = = no write acknowlegement = = journal: true/false, wait for flush to journal before acknowlegement = = fsync: true/false, wait for flush to file system before acknowlegement = = = = For backward compatibility safe is still supported and = = allows values of [true | false | {j:true} | {w:n, wtimeout:n} | {fsync:true}] = = the default value is false which means the driver receives does not = = return the information of the success/error of the insert/update/remove = = = = ex: new Db(new Server('localhost', 27017), {safe:false}) = = = = http://www.mongodb.org/display/DOCS/getLastError+Command = = = = The default of no acknowlegement will change in the very near future = = = = This message will disappear when the default safe is set on the driver Db = ======================================================================================== name:scaleworld age:27
虽然最后打印出了我们之前插入的数据,但是前面一大串的错误还是人看着不舒服,我们要消灭它们。
Error: Cannot find module '../build/Release/bson'的解决办法
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' } js-bson: Failed to load c++ bson extension, using pure JS version
头两行说的是没有发现bson模块。好办我们立马安装:
npm install bson
然后将D:\nodejsdemo\node_modules\mongodb\node_modules\bson\ext\index.js中的bson = require('../build/Release/bson')改成bson = require('bson') ,重新运行。
不过这样只是解决头两行的问题,还有用=包围起来的问题。
“Please ensure that you set the default write concern for the database”的解决办法
从最后一句话“This message will disappear when the default safe is set on the driver Db”我们就可以看出该问题的解决办法,只要将数据库连接设置为安全即可。具体代码修改如下:
new mongodb.Db('test',server,{})修改为new mongodb.Db('test',server,{safe:true})
相关文章推荐
- Node.js与MongoDB的基本连接示例
- [MongoDB学习笔记-02] Node.js连接MongoDB的两种方法
- node.js 学习笔记五:连接mongodb
- node.js学习第3天,mongos 连接MongoDB
- Node.js学习——基本模块之fs
- Node.js知识学习之——Node.js and MongoDB – Getting started with MongoJS
- 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(二)
- MongoDB for node.js developers 七周学习-最终测试小结(2)
- Docker学习之——Node.js+MongoDB+Nginx环境搭建(一)
- node.js学习之事件模块Events的使用示例
- node.js通过权限验证连接MongoDB
- mongodb node.js 身份验证启动/连接
- 从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
- node.js操作mongodb学习小结
- Node.js + Mongodb 建站学习历程1
- Nodejs Express 连接Mongodb
- windows下安装mongodb以及node.js连接mongodb实例
- 从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
- node.js学习之断言assert的使用示例
- Node.js的MongoDB驱动Mongoose基本使用教程