我的环境
- ubuntu 16.04
- Webstorm (开发工具)
- Robomongo (mongodb可视化工具)
- Mongodb
- nodejs
了解mongoose
Mongoose是一个提供了MongoDB地相映射的Node.js库,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用。我们现在就来看看怎样是使用Mongoose来创建并存储数据。
安装mongoose
在项目所在目录下执行下面的命令
npm install mongoose --save
如果你想使用Robomongo的话可以使用下面的命令安装
sudo apt-get install robomogo
之后在控制台输入 robomongo 启动软件
使用mongoose
1.连接数据库
var mongoose = require('mongoose'); //获取mongoose
var db = mongoose.createConnection('localhost', 'mongose'); //连接本地的mongose数据库
mongoose.Promise = global.Promise;
db.on('error', function () {
console.log('open error');
});
db.on('open', function () {
console.log('open success'); //open success
});
2.增删改查
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/test');
db = mongoose.connection;
db.once('open', function callback() {
console.log('open success');
});
var kittySchema = mongoose.Schema({
name: String
});
var Kitten = mongoose.model('kitten', kittySchema);
var silence = new Kitten({name: "Silence"});
silence.save(function (err) {
console.log('save success');
});
Kitten.find(function (err, result) {
if (err) {
console.log(err);
}
console.log(result);
});
Kitten.find({name: 'douqing'}, function (err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
}
});
Kitten.remove({name: 'douqing'}, function (err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
}
});
Kitten.update({_id: '592573e222fe4833e74d5617'}, {name: 'heko'}, function (err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
}
});
demo github地址:https://github.com/DQing/mongoose-demo