Help : push array vào mongodb sai. Ai có kinh nghiệm giúp newbie với ạ



  • var room = mongoose.Schema({
    facilities : {type : [Boolean]}
    });

    hotelSchema.statics.add_room = function (id,room, callbck) { //room này có mảng facilities từ 1-> 20

    	HotelModel.findOne({ '_id': id }, function (err, hotel) {
    		if(err){
    			console.log(err);
    			return callbck(err,null);
    		}else{
                                console.log(room); //ở đẩy vẫn hiện thị đúng facilities
    			hotel.rooms.push(room);  //khi push ra thì sai. Nó chỉ báo facilities[true], đáng lẽ ra nó phải báo facilities{true,false,gì đó .....}
    			hotel.save(function(err){
    				if(err){
    					console.log("Error while adding room to Hotel");
    					return  callbck(err, null);
    				} else {
    					console.log("Room added to Hotel");
    					return  callbck(null, hotel);
    				}
    			});
    			
    		}
    	});
    }


  • bạn khai báo sai nha

    var room = mongoose.Schema({
      facilities : [{
        type: Boolean,
        default: true
      }]
    });
    


  • vẫn vậy à anh ơi. Còn cách nào nữa ko ạ



  • à em xử lý xong r ạ. vấn đề ko phải nằm ở chỗ như a nói nhưng vẫn cảm ơn a



  • content: [{
    type: Number,
    ref: 'Events',
    default: null
    }],



  • Để thêm 1 phần tử vào 1 mảng trong mongodb bạn có thể kham khảo cách làm như document của mongodb để có được cách làm ngắn ngọn hơn :)
    https://docs.mongodb.com/manual/reference/operator/update/push/


Log in to reply