您的位置:首页 > 数据库 > Mongodb

nodejs中使用mongodb

2016-07-16 10:09 393 查看
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、更新、删除数据见参考
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mongodb 数据库 nodejs