var mongoose = require("mongoose"); mongoose.connect("mongodb://127.0.0.1/mongoose_test",{useMongoClient:true}); mongoose.connection.once("open",function () { console.log("數據庫鏈接成功~~~"); }); 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); /* - 有了Model,咱們就能夠來對數據庫進行增刪改查的操做了 Model.create(doc(s), [callback]) - 用來建立一個或多個文檔並添加到數據庫中 - 參數: doc(s) 能夠是一個文檔對象,也能夠是一個文檔對象的數組 callback 當操做完成之後調用的回調函數 查詢的: 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) {skip:3 , limit:1} callback 回調函數,查詢結果會經過回調函數返回 回調函數必須傳,若是不傳回調函數,壓根不會查詢 */ /*StuModel.find({name:"唐僧"},function (err , docs) { if(!err){ console.log(docs); } });*/ /*StuModel.find({},{name:1 , _id:0},function (err , docs) { if(!err){ console.log(docs); } });*/ /*StuModel.find({},"name age -_id", {skip:3 , limit:1} , function (err , docs) { if(!err){ console.log(docs); } });*/ /*StuModel.findOne({} , function (err , doc) { if(!err){ console.log(doc); } });*/ /*StuModel.findById("59c4c3cf4e5483191467d392" , function (err , doc) { if(!err){ //console.log(doc); //經過find()查詢的結果,返回的對象,就是Document,文檔對象 //Document對象是Model的實例 console.log(doc instanceof StuModel); } });*/ /*StuModel.create([ { name:"沙和尚", age:38, gender:"male", address:"流沙河" } ],function (err) { if(!err){ console.log(arguments); } });*/ /* 修改 Model.update(conditions, doc, [options], [callback]) Model.updateMany(conditions, doc, [options], [callback]) Model.updateOne(conditions, doc, [options], [callback]) - 用來修改一個或多個文檔 - 參數: conditions 查詢條件 doc 修改後的對象 options 配置參數 callback 回調函數 Model.replaceOne(conditions, doc, [options], [callback]) * */ //修改唐僧的年齡爲20 /*StuModel.updateOne({name:"唐僧"},{$set:{age:20}},function (err) { if(!err){ console.log("修改爲功"); } });*/ /* 刪除: 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); } });