mongoDB的api(mongoose)

有关数据库的有用的一些 api,即是mongoose. 在node开发中,底层去处理更多的细节。加快开发速度,维护更少的代码。node

启动mongodb服务器,创建mongodb链接mongodb

安装mongoose
npm install mongoose
复制代码
创建链接
var mongoose = require('mongoose')
// 链接tasks的数据库
var db = mongoose.connect('mongodb://localhost/tasks')

// 注册schmea,使用mongoose去管理数据时,须要注册schema
var Schema = mongoose.Schema
var Tasks = new Schema({
  project: String,
  description: String
})

// 经过访问schma,去带动mongoose工做
mongoose.model('Task', Tasks)
var Task = mongoose.model('Task')
var task = new Task()

能够直接省略为一句话
var task = mongoose.model('Task', Tasks)
复制代码
添加项目
一项:

 task.project = 'bikeshed'
 task.description = 'do you know the mongoose'
 task.save(function(err) {
    if (err) throw err;
    console.log('task saved')
 })
 
 // save 只能够保存 单项 
 //且 var task = new Task() 不可少
 
 
 多项任务:
 
 var taskArr = [{project: '00', description: '00'}, {project: '11', description: '11'}]
 
 /// 保存
 task.collection.insert(taskArr, onInsert)
 function onInsert(err, taskArr) {
    if (err) throw err;
    console.log('task saved array')
 }
 
 or
 
 task.create(taskArr, function(err, small) {
    if (err) throw err;
    console.log('task saved array create')
})
复制代码
查询项目
var Task = mongoose.model('Task', Tasks)

Task.find({'project':'00'}, function(err, tasks) {
   for (var i = 0; i < tasks.length; i++) {
     console.log('id' + tasks[i]._id);
     console.log(tasks[i].description)
   }
})
复制代码
更新项目
var Task = mongoose.model('Task', Tasks)

// 根据id去找该项记录, 修改description
Task.update({_id: 'XXXX'}, {description: 'XXX'}, {multi: false})
复制代码
删除项目
var Task = mongoose.model('Task');

Task.findById('XXXXXX', function(err, task) {
  task.remove()  
})
复制代码
相关文章
相关标签/搜索