mongoseリンクデータベース、追加削除


個人コードの習慣により、ご参考までに
途中で見たものが少し隠れている場合は、公式サイトにアクセスしてみてください
導入モジュール
var mongoose = require("mongoose");

データベースの接続
mongoose.connect("mongodb://localhost/mongoose_test");    

リンクのステータス
mongoose.connection.once("open",function () {
    console.log("       ");
});  
  • リンクが成功したかどうかを確認するためにコールバック
  • を行います.
    Schema(モード)オブジェクトの作成
    例:
    var Schema = mongoose.Schema; // mongoose.Schema      
    //  Schema  
    var stuSchema = new Schema({
        name:String,
        age:Number,
        gender:{
            type:String,
            default:"female"
        },
        address:String
    });

    公式サイト:
    Modelの作成
    SchemaによるModelの作成
    Modelはデータベース内の集合を表し、Modelによってデータベースを操作することができます.公式サイトで確認できます.
    構文:
    mongoose.model(modelName, schema);
      :modelName:       
      :mongoose:             
    

    例:
    var StuModel = mongoose.model('student', stuSchema);
    

    追加(ドキュメントをデータベースに挿入)
    構文:
    Model.create(doc(s),[callback]);//                

    パラメータ:
  • dec(s)は、1つの文書オブジェクトであってもよいし、1つの文書オブジェクトであってもよい配列
  • である.
  • [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投影(必要なフィールド)
  • 第1の態様{name:1,_id:0}
  • 第2の態様"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とコレクション内のドキュメントの1つ1つに対応するDocumentはModelのインスタンスであり、Modelによってクエリされた結果はDocumentである
    Documentの作成
    var stu = new StuModel({
        name:"   ",
        age:22,
        gender:"male",
        address:"  "
    });

    Documentの方法
    構文:
     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("       ");
    });