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

マングースの配列内で$pushを使用する

    あなたが目指しているのは有効な構造ではありません。代わりに必要になる可能性が高いのは、NetworkListが存在するスキーマです。 ユーザーの友達のObjectIdの配列が直接含まれています:

    var NetworkSchema = new Schema({
        UserID: {
            type: String,
            default: '',
            trim: true
        },
        NetworkList: [{
            type: Schema.ObjectId,
            ref: 'User'
        }]
    });
    

    ドキュメントは次のようになります:

    {
        "_id" : ObjectId("548adbc8b7eac44013bf188d"),
        "NetworkList" : [ 
            ObjectId("5486fab40bc27314276be8cf") 
        ],
        "UserID" : "547eaaab6c39471c3f5aebb6",
        "__v" : 0
    }
    

    次に、NetworkListに新しい友達を追加できます $pushを使用する このような演算子:

    exports.update = function(req, res) {
        var query={'UserID': req.body.UserID};
        var update = {$push: {'NetworkList': req.body.FriendID}};
    
        Network.findOneAndUpdate(query, update, function(err, doc){ ... });
    };
    



    1. Luaで32ビットビット演算を使用して符号付き64ビット数を比較する

    2. サーバー上のMeteorでのmongodbdistinct()の実装?

    3. MongoDBGridFS-ファイル名ですか、それともfileNameですか

    4. findOneAndUpdateが重複の問題を引き起こしている