다음과 같은 문서 모음이 있습니다.
{
name: String,
phoneNumber: String,
myDate: Date
}
실제 항목은 다음과 같습니다.
{
name: 'John Doe',
phoneNumber: '(402)-123-4444',
myDate: 2020-08-31T08:54:47.000+00:00
}
그리고 내 db에 약 1000 개의 항목이 있습니다. 이제 날짜 필드를 날짜 배열로 변경하고 DB의 모든 항목을 다음과 같이 수정하고 싶습니다 myDate: [Date]
. 날짜 필드의 기존 항목을 유지하고 싶지만 배열 내부로 이동합니다. 수동으로하고 싶지 않습니다. 몽구스로 할 수있는 방법은 없나요?
나는 같은 것을 시도했지만 Model.update({}, { $set: { myDate: [] } })
기존 항목을 유지하고 다른 것을 추가하지 않기 위해 배열 내부에서 무엇을 사용 해야할지 모르겠습니다.
나는 이것이 일회성 활동에 대한 것이라고 믿기 때문에 여기에 두 단계 대답을 제안하고 싶습니다.
1 단계 : mongo / shell에서 필드 유형을 다음과 같이 변경합니다.
> db.collection.find().forEach(function(individualDocument) {
db.collection.update(
{ _id: individualDocument._id },
{ "$set": { "myDate": [individualDocument.myDate] } }
);
})
2 단계 : 시도한대로 몽구스 모델을 업데이트합니다.
{
name: String,
phoneNumber: String,
myDate: [Date]
}
또는
myDate: { type: Array, default: [Date] }
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다