[MONGODB] 기반이 존재하지 않을 경우 배열에 여러 개체를 추가 몽구스
MONGODB기반이 존재하지 않을 경우 배열에 여러 개체를 추가 몽구스
어떻게 키를 기반으로 배열에 여러 개체를 추가하려면?
나는 각 개체의 키가, 다른 추가 개체를 존재하거나 중복되지 않는지, 하나 개의 쿼리에 여러 개체를 추가해야합니다. (라벨은 중복 될 수 있습니다)
개요
new Schema({
additional: [
{
key: { type: String, required: true, unique: true },
label: { type: String, required: true }
}
]
})
요청 페이로드 :
[ {key: "city", label: "CITY"}, {key: "gender", label: "GENDER"}
, {key: "city" ,label: "CITY1}, {key: "city2", label: "CITY"}]
예상 결과 :
[
{key: "city", label: "CITY"},
{key: "gender", label: "GENDER"},
{key: "city2", label: "CITY"}
]
나는 해결책을 찾기 위해 시도했지만 하나를 찾을 수 없습니다.
해결법
-
==============================
1.당신은 MongoDB의에서 bulkWrite 작업을 사용하여 시도 할 수 있습니다
당신은 MongoDB의에서 bulkWrite 작업을 사용하여 시도 할 수 있습니다
업데이트에 페이로드 다음 한 가정
const payload = [ { key: "city", label: "CITY" }, { key: "gender", label: "GENDER" }, { key: "city", label: "CITY1" }, { key: "city2", label: "CITY" } ]
대량 업데이트 문서에 쿼리
Model.bulkWrite( payload.map((data) => ({ updateOne: { filter: { '_id': 'xxxx', 'additional.key' : { $ne: data.key } }, update: { $push: { additional: data } } } }) ) })
어떤이 같은 업데이 트에 대량으로 요청을 보내드립니다
bulkWrite([ { updateOne: { filter: { '_id': 'xxxx', 'additional.key' : { $ne: data.key } }, update: { $push: { additional: data } } } }, { updateOne: { filter: { '_id': 'xxxx', 'additional.key' : { $ne: data.key } }, update: { $push: { additional: data } } } } ])
from https://stackoverflow.com/questions/51801033/mongoose-add-multiple-object-to-array-if-not-exist-based by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 때 레디 스에? 때 MongoDB를에? [닫은] (0) | 2019.12.12 |
---|---|
[MONGODB] 어떻게 MongoDB를 제거 문서를 얻으려면? (0) | 2019.12.12 |
[MONGODB] 집계 파이프 라인에 저장된 자바 스크립트 기능을 사용하여, 맵리 듀스 또는 runCommand (0) | 2019.12.12 |
[MONGODB] 문서를 덮어 몽구스 오히려 $ set` 필드는`그 (0) | 2019.12.12 |
[MONGODB] MongoDB를가 $ graphLookup를 사용하여 계층 적 쿼리 (0) | 2019.12.12 |