programing

Mongoose 삽입 많은 제한

iphone6s 2023. 7. 11. 21:39
반응형

Mongoose 삽입 많은 제한

Mongoose 4.4는 이제insertMany문서 배열의 유효성을 검사하고 유효한 경우 각 문서에 대해 하나의 작업이 아닌 하나의 작업으로 모두 삽입할 수 있는 기능:

var arr = [{ name: 'Star Wars' }, { name: 'The Empire Strikes Back' }]; Movies.insertMany(arr, function(error, docs) {});

어레이가 매우 크면 배치해야 합니까?아니면 크기나 배열에 제한이 없나요?

예를 들어, 모든 동영상에 대해 새 문서를 만들고 10,000개의 동영상이 있습니다.

개인적인 경험을 바탕으로 100-200 배치를 추천합니다. 시스템에 부담을 주지 않고 성능의 조화를 잘 이룰 수 있습니다.

insert 많은 작업 그룹은 최대 1000개의 작업을 가질 수 있습니다.그룹이 이 제한을 초과하면 MongoDB는 그룹을 1000 이하의 작은 그룹으로 나눕니다.예를 들어 대기열이 2000개의 작업으로 구성된 경우 MongoDB는 각각 1000개의 작업으로 구성된 2개의 그룹을 생성합니다.

크기 및 그룹화 메커니즘은 내부 성능 세부 사항이며 향후 버전에서 변경될 수 있습니다.

순서가 지정된 목록의 각 작업은 이전 작업이 완료될 때까지 기다려야 하므로 일반적으로 순서가 지정된 컬렉션에서 순서가 지정되지 않은 목록을 실행하는 것보다 속도가 느립니다.

Mongo 3.6 업데이트:

에 대한 한도insertMany()Mongo 3.6에서 증가했습니다.1000로.100,000그 말은 이제 위의 그룹들이100,000작업은 그에 따라 더 작은 그룹으로 나뉩니다.예: 다음을 포함하는 대기열200,000운영이 분할되고 Mongo는 2개의 그룹을 만들 것입니다.100,000각각.

메소드는 해당 배열을 가져와서 MongoDB의 insertMany 메소드를 통해 삽입하기 시작합니다. 따라서 배열 자체의 크기는 실제로 시스템이 처리할 수 있는 양에 따라 달라집니다.

그러나 MongoDB가 여러 작업을 처리하는 방법, 기본적으로 한 번에 1,000개의 작업을 처리하고 그 이상의 작업을 분할하는 방법에 대한 제한이 아니라 고려할 가치가 있는 또 다른 요점이 있다는 점에 유의하십시오.

언급URL : https://stackoverflow.com/questions/36042967/mongoose-insertmany-limit

반응형