MongoDb findByIDandUpdate不起作用

时间:2015-12-19 19:53:04

标签: arrays json git mongodb

我正在尝试在JSON对象中继续向此数组添加约会。我的JSON对象如下所示......

{
 "_id": "travis@hotmail.com",
 "appointment": [
                 {
                     "date": "12/16/2015", 
                     "time": "8:40:44pm"
                 }
                ]
}

我的代码在git shell中没有显示错误,但是它没有将项添加到数组中,我尝试了db.findById(..),.insert(),.update()和其他方法并且无法使它们工作,但是这里是我的代码:

var SchemaApp = new mongoose.Schema({

        patientid    : String,
        appointment:[{
            date: String,
            time: String
        }]          
    });
var appointments = mongoose.model('appointment', SchemaApp);
app.post('/makeApp',function(req,res){
  var patient = req.body.appPatient;
  var date = req.body.dateApp;
  var hour = req.body.hour;
  var minutes = req.body.minutes;
  var time = hour+":"+minutes;
  appointment.findByIdAndUpdate(
    {"patientid": req.body.appPatient},
    {"$push":{
            "appointment":{
                "date": date,
                "time": time
            }
        }
    },{"new": true});    
 res.redirect("/admin");
);

如果我向控制台打印出患者,日期和时间,他们表现得非常好。我也尝试过没有cotation标记的属性,而不是patientid我有_id

1 个答案:

答案 0 :(得分:0)

您的数据示例中没有patientid字段,但您尝试按该字段查找文档。尝试在文档中添加patientid字段。