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

Node.js MongoDBドライバーでfindAndModifyを使用するにはどうすればよいですか?

    findAndModify > メソッドには次のシグネチャがあります

    findAndModify(query, sort, doc, options, callback)
    

    ここで

    • クエリ <オブジェクト> :変更するオブジェクトを見つけるためのクエリオブジェクト。
    • 並べ替え :複数のドキュメントが一致する場合は、操作するオブジェクトとして、指定された並べ替え順序の最初のドキュメントを選択します。
    • doc <オブジェクト> :更新するフィールド/値。
    • オプション <オブジェクト> オプション:オプションの設定。

    エラーが発生する理由は、 sortが原因です。 仕様が欠落しており、代わりに更新 docを読み取っています ソートとして パラメータ。

    次のようにsortパラメーターを指定する必要があります。

    db.get().collection('bars').findAndModify(
        { "barID": req.body.button },   // query
        [ ["barID", 1] ],               // sort
        {
            "$push": {                   // doc
                "usersfbID": req.body.profileUser[0].facebookID,
                "usersDocID": req.body.profileUser[0]._id
            }
        },
        { "new": true },                // options
        function(err, doc){             // callback
            if (err){
                throw err;
            } else if(doc){
                console.log('Existing document updated successfully');
                console.log(doc);
            }
        }
    );
    



    1. Json.NET +MongoDBBsonを一緒にうまくプレイする

    2. MongoDB:$ lookupの結果を(予測として)特定のフィールドに制限することは可能ですか?

    3. MongoDBからHBaseへの移行

    4. mongoはコレクションを自動削除できますか?