mongoose学习

作者: DouQing | 来源:发表于2017-05-25 14:07 被阅读0次

    我的环境

    • 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学习

        本文链接:https://www.haomeiwen.com/subject/vkzaxxtx.html