mongoDB是無模式的,mongoose是既可以支持無模式也可以支持有模式。
創(chuàng)建model:
const mongoose = require(‘mongoose');
mongoose.Promise = require('bluebird');
mongoose.connect('mongodb://localhost/Mongoose');
const BookSchema = new mongoose.Schema({
Name:String,
Author:String,
PublishTime:Date
});
module.exports = mongoose.model(‘Book',BookSchema);
*:注意這里可能會出現(xiàn)問題:(node:4104) DeprecationWarning: Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html伐蒋;
此時可以使用bluebird實現(xiàn)的promise替代:
mongoose.Promise = require(‘bluebird’);
插入操作:
const mongoose = require('mongoose');
require('./models.js');
const Book = mongoose.model('Book');
const book = new Book({
Name:'Web Development',
Author:'James',
PublishTime:new Date()
});
//book.Author = 'Curry';
book.save(err=>{
console.log('save ',err ? 'falied' : 'success');
});
查詢操作:
const mongoose = require('mongoose');
require('./models.js');
const book = mongoose.model('Book');
book.find({},(err,docs)=>{
if (err) console.log(err);
console.log(docs);
});
條件查詢操作:
/**
* Created by w on 2017/4/20.
*/
const mongoose = require('mongoose');
require('./models');
const book = mongoose.model('Book');
const conditions = {
$or: [{Author: 'James'},
{Author:'Curry'}]
};
book.find(conditions,(err,docs)=>{
if (err) console.log(err);
console.log(docs);
});