MongoDB學習(2)—Node.js與MongoDB的基本串連樣本

來源:互聯網
上載者:User

標籤:

前提

已經安裝了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})

 

MongoDB學習(2)—Node.js與MongoDB的基本串連樣本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.