startDate:moment()
을 삽입하면 필드가 아니기 때문에 moment
개체의 내용을 저장할 수 있습니다. 예를 들어
의 mongo
쉘 :
> db.mycollection.insert({startDate:moment()})
WriteResult({ "nInserted" : 1 })
> db.mycollection.findOne()
{
"_id" : ObjectId("5401a7805a5b0e4e0bfe5170"),
"startDate" : {
"_isAMomentObject" : true,
"_i" : null,
"_f" : null,
"_l" : null,
"_strict" : null,
"_isUTC" : false,
"_pf" : {
"empty" : false,
"unusedTokens" : [ ],
"unusedInput" : [ ],
"overflow" : -2,
"charsLeftOver" : 0,
"nullInput" : false,
"invalidMonth" : null,
"invalidFormat" : false,
"userInvalidated" : false,
"iso" : false
},
"_d" : ISODate("2014-08-30T10:29:20.529Z")
}
}
거기 startDate._d
필드 내에 저장 적절한 Date
,하지만 난 당신이 실제로를 사용하여 startDate
필드에 단일 값을 저장한다 수행 할 작업을 생각한다 new Date()
생성자 : 예상대로
> db.mycollection.insert({startDate:new Date()})
WriteResult({ "nInserted" : 1 })
> doc = db.mycollection.findOne()
{
"_id" : ObjectId("5401a8fe5a5b0e4e0bfe5173"),
"startDate" : ISODate("2014-08-30T10:35:42.736Z")
}
지금 당신이 날짜 계산을 수행 할 수 있어야합니다 :
> var now = moment();
// Diff in milliseconds (http://momentjs.com/docs/#/displaying/difference/)
> now.diff(doc.startDate)
6825
순간에서 날짜를 구성하는 대신 순간의'.toDate()'함수를 사용해야합니다. 또는 삽입을 잠시 중단하고 매개 변수없이'new Date()'를 호출하십시오. –
당신은'_d' 속성을 사용하지 말아야한다는 것이 맞습니다. 순간의 공개 API의 일부가 아닙니다. –
일을 정리하려면 var date = moment(). format ('MMMM YYYY, h : mm : ss a'); 그런 다음 DB에 저장했지만 지금은 = moment() .diff ('MMMM YYYY, h : mm : ss a') 형식으로 diff했을 때 작동하지 않습니다. . 그러나 newDate (moment()) 및 moment(). toDate()를 저장하면 효과가있었습니다. 감사합니다 – Saad