nodejs使用mongoose操作mongodb
1:进入官网下载mongodb驱动 https://www.mongodb.com/download-center?jmp=nav#community
2:选择使用mongodb的gui开发工具,官方的是compass
mongodb属于非关系型数据结构,关于mongodb操作collection数据集合,请自行百度学习
3:在你的nodejs项目里面,项目里不要使用npm安装mongodb模块,npm中mongodb版本太低,如果你pc装的mongodb版本在3以上,就会有许多方法不适用,建议在nodejs项目里使用mongoose模块操作mongodb数据库
mongoose具体操作请参考:https://www.npmjs.com/package/mongoose
4:以下为我自己写的demo部分代码:
const mongoose = require('mongoose');//引入
const db = mongoose.createConnection('mongodb://localhost:27017/local');//连接mongodb数据库(URL为:mongodb://地址:数据库端口/库名)
/**
以下为db状态的监听
**/
db.on("error",function(err) {
console.log('err is'+err);
});
db.on("open",function() {
mongodb.mongoFind('炎');在监听打开时间进行操作
console.log('连接成功');
});
db.on('disconnected', function () {
console.log('Mongoose connection disconnected');
});
创建 Schema, let PersonSchema = new mongoose.Schema({字段}{表名}),schema是个规范,俩参数跟db字段对应,
let PersonSchema = new mongoose.Schema({
name : { type:String },
home : { type:String },
age : { type:Number, default:0 },
time : { type:Date, default:Date.now },
email: { type:String,default:''}
},{collection:'person'}); //collection参数不写,会导致数据库表名错 误
var PersonModel = db.model("person", PersonSchema);//连接表
以上意思为,为person库设置一个模式,person为表名与schema表名保持一致
var personEntity = new PersonModel({
name : "siry",
home:'Amr',
age : 26,
time:Date.now(),
email: "xzl@qq.com"
});//创建表的实例
mongoose.Promise = global.Promise;//mongoose执行异步操作的相关方法时要加这句,不加会警告,原因是mongoose使用了es6的promise
let promise = personEntity.save();//save保存数据后,返回promise实例
promise.then(function(doc) {//接收结果
console.log(doc);//处理结果
});
5:查询操作
db.on('open',function() {
let schema = mongoose.Schema({},{collection:'fs.files'});//查询时第一个参数可为空,第二个参数一定要写,不谢导致表名错误
let model = db.model('fs.files',schema);
mongoose.Promise = global.Promise;
model.find({},{'filename':1,'length':1}).limit(10).exec(function(err,doc) {
let jsonstr = JSON.stringify(doc);
// app7.groceryList = JSON.parse(jsonstr);
});
})
对日期进行查询时,在mongodb的客户端使用ISOdate操作日期,在mongoose中使用new Date('timeString')来传入日期字符串的
以上介绍均为mongodb3.6以上版本,本地安装mongodb时选择3以上版本,npm 安装mongoose时,不用选择版本直接 npm install mongoose
选择版本的话就:npm install mongoose@版本号 使用:npm view mongoose versions 查看具体的版本号
更多mongodb的操作参考:http://www.mongoing.com/docs/crud.html