sql >> データベース >  >> NoSQL >> MongoDB

オブジェクトをMongooseの配列スキーマにプッシュする

    マングースは1回の操作でこれを行います。

    Contact.findByIdAndUpdate(
        info._id,
        {$push: {"messages": {title: title, msg: msg}}},
        {safe: true, upsert: true},
        function(err, model) {
            console.log(err);
        }
    );
    

    この方法を使用すると、スキーマの「pre」関数を使用できなくなることに注意してください。

    http://mongoosejs.com/docs/middleware.html

    最新のmogooseの時点で、findbyidandupdateには「new:true」オプションのパラメーターを追加する必要があります。そうしないと、古いドキュメントが返されます。したがって、Mongooseバージョン4.x.xのアップデートは次のように変換されます:

    Contact.findByIdAndUpdate(
            info._id,
            {$push: {"messages": {title: title, msg: msg}}},
            {safe: true, upsert: true, new : true},
            function(err, model) {
                console.log(err);
            }
        );
    


    1. Redisは、キャッシュされたデータまたは新しいデータをDBから返す必要があるかどうかをどのようにして知ることができますか

    2. MongoDBの単一フィールドの配列内の文字列値を連結します

    3. MongoDBストアドプロシージャと同等

    4. ネストされた構造体をmgoで保存する