2016-02-23 142 views
0

嵌套數組我有一個貓鼬模型類似插入在貓鼬

module.exports = mongoose.model('ContactBirthday', { 
    email: { 
     type: String, 
     unique: true 
    }, 
    birthday: { 
     "1": { 
      "1": [ 
       { 
        "firstName": String, 
       } 
      ], 
      "2": [ 
       { 
        "firstName": String, 
       } 
      ] 
     } 
    } 
    } 

我想在birthday.1.2推值。我有1變量bMonth和bDate值和2,使用下面的代碼來推,但不知何故,只有電子郵件插入

var bMonth = req.body.contact.birthday.month; 
var bDate = req.body.contact.birthday.date; 

              ContactBirthday.findOneAndUpdate({ 
               email: result.message.email 
              }, { 
               $push: { 
                birthday: { 
                 bMonth: { 
                  bDate: { 
                   "firstName": req.body.contact.birthday.firstName, 
                   "_id": data[0].contacts[data[0].contacts.length - 1]._id 
                  } 
                 } 
                } 
               } 
              }, { 
               upsert: true 
              }, function (err, result) { 
               if (err) 
                return res.send(500, { 
                 error: err 
                }); 
               else 
                res.sendStatus(200); 


              }); 
+0

'bDate:{ 「名字」: 「值」}'是**的**對象有**的關鍵bDate **!它實際上不是'{12/11/2015:{...' 也不要做那種討厭的狂歡! –

+0

@AndreyPopov任何想法如何以月份和日期的形式存儲每個用戶的生日? :) –

+0

貓鼬在其中有'Date'類型! :)如果你有一個 –

回答

1

您可以添加生日到您的聯繫人模式,每一天都像

進行查詢
Contact.find({ 
     'birthday': { 
      $gte: new Date(2016, 0, 1), 
      $lt : new Date(2016, 0, 2) 
     } 
}, function(err, results){ 
... 
}); 

得到生日的所有聯繫人在2016年1月1日

+0

謝謝:)你救了我的一天 –

+0

不客氣:) – Molda