Nosql中Mongoose简介及操作
发布时间:2020-12-13 13:28:02 所属栏目:百科 来源:网络整理
导读:Mongoose简介: Mongoose是一个让我们通过Node来操作MongoDB的模块,Mongoose是一个对象文档模型库,它对Node原生的MongoDB模块进行了进一步的优化封装,并提供了更多的功能 Mongoose优点: 1、可以为文档创建一个模式结构 2、可以对模型中的对象/文档进行验
Mongoose简介:Mongoose是一个让我们通过Node来操作MongoDB的模块,Mongoose是一个对象文档模型库,它对Node原生的MongoDB模块进行了进一步的优化封装,并提供了更多的功能 Mongoose优点:1、可以为文档创建一个模式结构 Mongoose提供的新对象:- Schema(模式对象) - Model - Document Mongoose操作步骤:1.下载安装Mongoose var mongoose = require("mongoose"); 3.连接MongoDB数据库 mongoose.disconnect() --监听MongoDB数据库的连接状态 mongoose.connection.once("open",function(){}); 数据库断开的事件: mongoose.connection.once("close",function(){}); ? Schema 和 Model:
var mongoose = require("mongoose"); mongoose.connect("mongodb://127.0.0.1/mongoose_test",{useMongoClient:true}); mongoose.connection.once("open",function () { console.log("数据库连接成功~~~"); }); //将mongoose.Schema赋值给一个变量 var Schema = mongoose.Schema; //创建Schema(模式)对象 var stuSchema = new Schema({ name:String,age:Number,gender:{ type:String,default:"female" },address:String }); //通过Schema来创建Model //Model代表的是数据库的集合,通过Model才能对数据库进行操作 //mongoose.model(modelName,schema): //modelName 就是要映射的集合名mongoose会自动将集合名变成复数 var StuModel = mongoose.model("student",stuSchema); //向数据库中插入一个文档 //StuModel.create({doc,function(err)}); StuModel.create({ name:"孙悟空",age:18,gender:"male",address: "花果山" },function (err) { if(!err){ console.log("插入成功~~~"); } }); ? Document:
Document的方法: //创建一个Document var stu = new StuModel({ name:"奔波霸",age:28,address: "碧波潭" }); stu.save(function (err) { if(!err){ console.log("保存成功~~~"); } }); StuModel.findOne({},function (err,doc) { if(!err){ /* update(update,[options],[callback]) - 修改对象 save([callback]) - 保存对象 remove([callback]) - 删除对象 get(name) */ */
?
//console.log(doc.get("age")); } });
补充: 定义一个模块,用来连接MongoDB数据库 //mongo.js内容: var mongoose = require("mongoose"); mongoose.connect("mongodb://127.0.0.1/mongoose_test",function () { console.log("数据库连接成功~~~"); }); //index.js内容: require("./tools/mongo"); <直接调用mongo.js里的内容,方便连接上数据库> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |