MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Sử dụng $ push trong Array trong mongoose

Những gì bạn đang hướng tới không phải là một cấu trúc hợp lệ. Những gì bạn có thể muốn thay vào đó là một giản đồ trong đó NetworkList trực tiếp chứa một mảng ObjectIds của bạn bè của người dùng:

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

Tài liệu của bạn khi đó sẽ trông giống như sau:

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

Sau đó, bạn có thể thêm một người bạn mới vào NetworkList sử dụng $push toán tử như thế này:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Không thể xây dựng dự án bằng trình điều khiển c ++ mongodb với MSVC

  2. mgo - hiệu suất truy vấn dường như luôn chậm (500-650ms)

  3. $ project trong $ lookup mongodb

  4. Sử dụng mongodb bên ngoài với sự phát triển sao băng

  5. Cách đếm các mục trong danh sách danh sách