mongodb操作之mongoose(一)

NOSQL存储作为一种与关系性数据库完全不同的存储方式,提供了灵活,大型,敏捷,可扩展的存储模式,并且在有着复杂的数据情形下性能完全
不逊色于RDBMS,而作为NOSQL中流行程度较高的数据库,mongodb有着上手容易,数据查询方式多样等诸多特点,所以也深受欢迎

今天说的mongoose是一种利用node模块对mongodb数据库进行操作的工具,它有着结构化,操作性强,可重复的优点。更重要的是它将mongodb返回的Json字符串包装成了Json对象,这在操作时要比直接使用字符串方便许多。
今天就利用mongoose的官方文档对它的标准操作进行简单的分析。

 1. 获取mongoose

var mongoose = require('mongoose');

 2 . 连接数据库

 mongoose.connect('mongodb://yourdb');

 3. 连接成功或发生error的事件触发

var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); //连接失败时的操作 db.once('open', function(){            //do something after connecting  }) //连接成功时的操作

 4. 在mongoose中,所有事务都由Schema派生

 1) 定义Schema var kittySchema = mongoose.Schema({     name: String }) 2) 将Schema转换为Model var Kitten = mongoose.model('Kitten', kittySchema);

 5. 所有的事务都定义为model

  var silence = new Kitten(name: 'Silence');

 6. 在Schema中添加属性和方法

  kittySchema.methods.speak = function() {    var greeting = this.name;    ? 'meow name is' + this.name    : 'i don\'t have a name';    console.log(greeting);  }//定义方法  var Kitten = mongoose.model('Kitten', kittySchema);  var fluffy = new Kitten({ name: fluffy });  fluffy.speak();//使用方法

 7. 保存数据对象(如果发生错误时会返回,且the first arg是err)

  fluffy.save(function(err, fluffy) {      if(err) return console.error(err);      fluffy.speak();  });

 8. 显示所有数据对象(Kitten)

Kitten.find(function(err, Kittens) {  //Kittens是查询后得到的数据对象    if(err) return console.error(err);    console.log(Kittens);})

 9. query method(举例)

  Kitten.find({ name: yourquery }, callback);

关键字:node.js, mongodb, mongoose

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部