nodejs中使用mongodb
阿新 • • 發佈:2018-12-24
MongoDB 擁有 NoSQL 的普遍特色,不用預先定義 Schema,所有的 database 和 collection(相當於傳統 RDBMS 的 Table),都會在新增資料後,自動被建立,我們只要專注於使用 NodeJS 操作資料庫即可。
1、首先要在專案中安裝mongodb,安裝命令是:
npm install mongodb
2、server.js
/**
* Created by Administrator on 2016/7/16.
*/
var mongodb = require('mongodb');
var server = new mongodb.Server('localhost' , 27017, {auto_reconnect:true});//伺服器與mongodb相連
var db = new mongodb.Db('mydb', server, {safe:true});//在mongodb中建立資料庫mydb
//連線db
db.open(function(err, db){
if(!err){
console.log('connect db');
// 連線Collection(可以認為是mysql的table)
// 第1種連線方式
// db.collection('mycoll',{safe:true}, function(err, collection){
// if(err){
// console.log(err);
// }
// });
// 第2種連線方式
db.createCollection('mycoll', {safe:true}, function(err, collection){
if(err){
console.log(err);
}else{
//新增資料
// var tmp1 = {id:'1',title:'hello',number:1};
// collection.insert(tmp1,{safe:true},function(err, result){
// console.log(result);
// });
//更新資料
// collection.update({title:'hello'}, {$set:{number:3}}, {safe:true}, function(err, result){
// console.log(result);
// });
// 刪除資料
// collection.remove({title:'hello'},{safe:true},function(err,result){
// console.log(result);
// });
// console.log(collection);
// 查詢資料
var tmp1 = {title:'hello'};
var tmp2 = {title:'world'};
collection.insert([tmp1,tmp2],{safe:true},function(err,result){
console.log(result);
});
collection.find().toArray(function(err,docs){
console.log('find');
console.log(docs);
});
collection.findOne(function(err,doc){
console.log('findOne');
console.log(doc);
});
}
});
// console.log('delete ...');
// //刪除Collection
// db.dropCollection('mycoll',{safe:true},function(err,result){
// if(err){
// console.log('err:');
// console.log(err);
// }else{
// console.log('ok:');
// console.log(result);
// }
// });
}else{
console.log(err);
}
});
node server.js之後顯示:
其實操作mongodb最好用mongoose:
參考;http://www.cnblogs.com/aaronjs/p/4489354.html
Mongoose庫簡而言之就是在node環境中操作MongoDB資料庫的一種便捷的封裝,一種物件模型工具,類似ORM,Mongoose將資料庫中的資料轉換為JavaScript物件以供你在應用中使用。
使用mongoose操作mongodb一般流程(儲存資料):
1、引入mongoose:
var mongoose=require("mongoose");
2、通過Schema建立一個模式
3、通過模式建立一個模型
4、通過模型寫入資料
5、通過save方法儲存
例子:
var Schema = mongoose.Schema;
//骨架模版
var movieSchema = new Schema({
doctor : String,
title : String,
language : String,
country : String,
year : Number,
summary : String,
poster : String,
flash : String
})
//模型
var Movie = mongoose.model('Movie', movieSchema);
//儲存資料
var moive = new Movie({
title: '黑衣人三',
doctor: '史密斯',
year: 2018,
flash: 'http://player.youku.com/player.php/sid/XNjA1Njc0NTUy/v.swf',
country: '美國',
language: '英語',
summary: '好片'
})
//儲存資料庫
moive.save(function(err) {
if (err) {
console.log('儲存失敗')
return;
}
console.log('meow');
});
**注意的一點:**schema模式和模型不能同名,否則會失敗
2、更新、刪除資料見參考