2017-12-12 5 views
1

은 내가 두 가지 이유로 배열의 경우save mongoose를 사용하여 문서를 개체로 포함 시키시겠습니까?

  1. 내가 것 JSON을 사용하는 경우 중복 데이터가 배열에 푸시 할 수의 embeddedDocsAsJson를 사용하려면이

    const user = new Schema({ 
        firstName: { type: String, required: true }, 
        lastName: { type: String , required: true}, 
        phone:{type: Number, unique true} 
        embeddedDocsAsJson: {} // not as an array 
    }, 
        { minimize: false } 
    ) 
    

    같은 스키마를 가지고 사용하지 않을 것입니다 unique idjson으로 설정합니다.

  2. 배열을 반복 할 필요가 없으므로 검색 속도가 빨라집니다. 나는 json key

문제에서 그것을 가져올 수 : 는 첫째로 나는 firstName and lastName phone를 삽입하고있다. 아래의 문서를 업데이트하는

+0

먼저 user.embeddedDocsAsJson = {}을 (를) 설정해 보았습니까? –

+0

그것은 작동했습니다 ... 그러나 임베디드 DocsAsJson을 설정하여 bydw – ashwintastic

+0

을 작동하지 않는 스키마에서 이미 정의했습니다 : {} – Shubham

답변

1

EmbeddedDocs에 의해 기본 배열은 객체를 저장할 경우 업데이트하는 동안 나는 embeddedDocsAsJson에 가치를 추가 해요

let user = await User.findOne({phone: somenumber}) 
    user.embeddedDocsAsJson.someId = someObject // getting error in this line because `user.embeddedDocsAsJson` is `undefined` 
    user.save() 

업데이트 내 코드 동안

그리고 embeddedDocsAsJson이 추가됩니다 아래의 컬렉션에서 작동합니다.

let user = await User.findOne({phone: somenumber}) 
    user.embeddedDocsAsJson = {} 
    user.embeddedDocsAsJson.someId = someObject // getting error in this line because `user.embeddedDocsAsJson` is `undefined` 
    user.save()