mongoose学习

我的环境

  • 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

你可能感兴趣的:(mongoose学习)