如中途看的有點蒙圈,能夠轉到官網查看html
var mongoose = require("mongoose");
mongoose.connect("mongodb://localhost/mongoose_test");
mongoose.connection.once("open",function () { console.log("數據庫連接成功"); });
例:mongodb
var Schema = mongoose.Schema; //將mongoose.Schema 賦值給變量 //建立Schema對象 var stuSchema = new Schema({ name:String, age:Number, gender:{ type:String, default:"female" }, address:String });
官網:數據庫
Model表明的是數據庫中的集合 ,經過Model 才能對數據庫進行操做,可在官網查看json
語法:api
mongoose.model(modelName, schema); 參數:modelName:要映射的集合名 特色:mongoose:會自動將集合名變成複數
例:數組
var StuModel = mongoose.model('student', stuSchema);
語法:mongoose
Model.create(doc(s),[callback]);//用來建立一個文檔並添加到數據庫中
參數:ide
dec(s)
能夠是一個文檔對象也是能夠是一個文檔對象的數組[callback]
可選的 回調函數例:模塊化
StuModel.create({ name:"白骨精", age:16, address:"白骨洞" },function (err) { if(!err){ console.log("插入成功"); } });
語法:函數
Model.find(conditions,[projection],[options],[callback]);//查詢全部符合條件的文檔 總會返回一個數組 Model.findById(id,[projection],[options],[callback]);//根據文檔的id屬性查詢文檔 Model.findOne([conditions],[projection],[options],[callback]);//查詢符合條件的第一個文檔 老是返回一個具體的文檔對象
參數:
conditions
查詢條件projection
投影(須要獲取到的字段)
{name:1,_id:0}
"name -_id"
options
查詢的選項(skip limit
)callback
回調函數 查詢結果經過回調函數返回 回調函數必傳 若是不傳回調函數 壓根就不會查詢例:
StuModel.find({name:"唐僧"},function (err,docs) { if(!err){ console.log(docs[0].name); } }); StuModel.find({},{name:1, _id:0},function (err,docs) { if(!err){ console.log(docs); } }); StuModel.findById("5bac79be5fb5454418668515",function (err,doc) { if(!err){ //經過find()查詢的結果 返回的對象就是 Document 文檔對象 //Document 對象是Model的實例 console.log(doc instanceof StuModel) } });
語法:
Model.update(conditions,doc,[options],[callback]);//用來修改一個或者多個文檔 Model.updateMany(conditions,doc,[options],[callback]);//用來修改多個文檔 Model.updateOne(conditions,doc,[options],[callback]);//用來修改一個文檔 Model.replaceOne(conditions,doc,[options],[callback]);//替換一個
參數:
conditions
查詢條件doc
修改後的對象options
配置參數callback
回調函數語法:
Model.remove(conditions,[callback]);//刪除一個或者多個 Model.deleteOne(conditions,[callback]);//刪除一個 Model.deleteMany(conditions,[callback]);//刪除多個
例:
StuModel.remove({name:"白骨精"},function (err) { if(!err){ console.log("刪除成功"); } })
語法:
Model.count(conditions,[callback])
例:
StuModel.count({},function (err,count) { if(!err){ console.log(count); } });
Document 和 集合中的文檔一一對應 Document 是Model 的實例,經過Model查詢到結果都是Document
var stu = new StuModel({ name:"蘇小小", age:22, gender:"male", address:"上海" });
語法:
Model#save([options],[fn]);
例:
stu.save(function (err) { if(!err){ console.log("保存成功") } });
語法:
修改對象: update(update,[options],[callback]); 刪除對象: remove([callback]);
例:
StuModel.findOne({},function (err,doc) { if(!err){ /** * update(update,[options],[callback]) * - 修改對象 * remove([callback]) * - 刪除對象 */ // console.log(doc); // doc.update({$set:{age:28}},function (err) { // if(!err){ // console.log("修改爲功"); // } // }) /** * 或者 */ // doc.age = 18; // doc.save(); // doc.remove(function (err) { // if(!err){ // console.log("大師兄再見"); // } // }) /** * get() * - 獲取文檔中的指定屬性值 * set(name,value) * - 設置文檔的指定屬性值 * id * - 獲取文檔的_id屬性值 * toJSON() * - 轉換爲一個json對象 * toObject() * - 將Document 對象轉換爲一個普通的js對象,注意全部的Document對象的方法或屬性都不能使用了 */ //console.log(doc.get("name")) /** * 或 */ // console.log(doc.name) //doc.set("name","豬無能"); /** * 或 */ // doc.name = "天蓬元帥"; // console.log(doc._id); // var j = doc.toJSON(); // console.log(typeof j); var o =doc.toObject() console.log(o) } });
新建一個js文件,用來鏈接數據庫 /** *定義一個模塊,用來鏈接mongodb數據庫 */ var mongoose = require("mongoose"); mongoose.connect("mongodb://localhost/mongoose_test"); mongoose.connection.once("open",function () { console.log("數據庫連接成功"); }); ------------------------------------------------------------------- 在新建一個js文件,用來建立student模型 /** *用來定義student模型 */ var mongoose = require("mongoose"); var Schema = mongoose.Schema; var stuSchema = new Schema({ name:String, age:Number, gender:{ type:String, default:"female" }, address:String }); /** *定義模型 */ var StuModel = mongoose.model('student', stuSchema); /** * 暴露出去 */ module.exports = StuModel; ---------------------------------------------------------------- 在須要調用的地方引入就能夠了 /** *定義一個模塊,用來鏈接mongodb數據庫 */ var mongoose = require("mongoose"); mongoose.connect("mongodb://localhost/mongoose_test"); mongoose.connection.once("open",function () { console.log("數據庫連接成功"); });