讀mongoose api 記錄

mongoose 須要在Schemas基礎上進行使用javascript

var mongoose = require('mongoose'); java

var Schema = mongoose.Schema; mongodb

var blogSchema = new Schema({ 數據庫

  title: String, author: String, 編程

  body: String, comments: [{ body: String, date: Date }], 數組

  date: { type: Date, default: Date.now }, 編程語言

  hidden: Boolean,mongoose

   meta: { votes: Number, favs: Number } ui

});spa

ArrayJavaScript編程語言中並非數組,而是集合,所以裏面能夠存入不一樣的值,如下代碼等價:

 var ExampleSchema1 = new Schema({array:[]}); var ExampleSchema2 = new Schema({array:Array}); var ExampleSchema3 = new Schema({array:[Schema.Types.Mixed]}); var ExampleSchema4 = new Schema({array:[{}]});

建立一個模塊

var Blog =  mongoose.model('Blog',blogSchema);、

管理數據庫的形式

var db = mongoose.connect('mongodb://localhost/test');

mongoose 經常使用查詢語句

 提供了find ,findOne , findById 用於文檔查詢

model.find(query,fields,options,callback) //fields,options 是可選參數

簡單查詢: model.find({'cursor':6},function(err,doc){})//doc 是查詢後的語句

只查詢指定鍵的結果 : model.find({},{'first','last'},function(err,docs){})//doc是隻包含文檔的第一個和最後一個鍵值

model.findOne 和 find 同樣 但只返回單個文檔。

model.findById 和 find 相同,但它只接受文檔的_id 做爲參數,返回單個文檔

model.findById(obj._id,function(err,doc){})

model.count 返回符合條件的文檔數

model.count(conditions,callback)

model.remove 刪除符合條件的文檔

model.remove(contions,callback)

model.where 查詢比較複雜的時候 用where

modle .where('age').gte(25)

    .where('tags').in{['movie','music','art']}

    .select('name','age','tags'}

    .skip(20)

    .limit(10)

    .asc('age')

    .slaveOk()

...

model.update  更新數據庫

var contions = {name : 'borne'},

  update = {$inc:{visits:1}},

  options = {multi : true}

model.update(conditions,update,options,callback)

相關文章
相關標籤/搜索