Mongo는 중복 사용자 이름 삽입을 허용하지 않습니다.

rnldpbln

다른 사이트에 대해 동일한 사용자 이름을 가질 수 있기 때문에 중복 사용자 이름을 허용하려면 mongo가 필요합니다.이 코드는 다음과 같습니다.

_(data)
    .forEach(function (a, key) {
        jobs['insert_' + a] = function (callback) {
          mongo.open(config.MONGO_DB)
            .collection('usernames')
            .insert({
               username: a,
               indic: key,
               favorites: ''
             }, function (err, result) {
                  if (err) {
                    return next(err);
                  }

                  callback();
            });
       };
     }
  .commit();
async.parallel(jobs, send_response);

결과적으로이 한 줄만 얻습니다.

{ "_id" : ObjectId("5592724901c01a6ca6b76a6a"), "username" : "asd", "indic" : "twitch", "favorites" : "" }

내가 전달하는 데이터는 다음과 같습니다.

data = {twitch: 'asd', hitbox: 'asd', dailymotion: 'asd'}

이런 걸 먹어야하지 않나요?

`{ "_id" : ObjectId("5592724901c01a6ca6b76axx"), "username" : "asd", "indic" : "twitch", "favorites" : "" }
{ "_id" : ObjectId("5592724901c01a6ca6b76axx"), "username" : "asd", "hitbox" : "twitch", "favorites" : "" }
{ "_id" : ObjectId("5592724901c01a6ca6b76axx"), "username" : "asd", "dailymotion" : "twitch", "favorites" : "" }

나는 이것을async기능 으로 사용하고 있습니다.

Robertklep

귀하의 a변수는 중복되는 변수이므로 동일한 키를 jobs(즉 insert_asd)에 계속 추가합니다 .

결과에서 특정 삽입 작업을 참조 할 필요가없는 경우 jobs객체 대신 배열을 만들 수 있습니다 .

var jobs = _(data).map(function(a, key) {
  return function(callback) {
    ....
  };
}).value();

그러나 MongoDB 드라이버를 사용하여 문서를 별도로 추가하는 대신 한 번에 추가 할 수 있습니다. 공식 MongoDB 드라이버는 insertMany()예를 들어를 사용하는 문서 배열을 지원 합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Laravel 5.1은 현재 사용자에게 중복 된 gecko 이름을 허용하지 않습니다.

분류에서Dev

중복 이메일 또는 사용자 이름을 허용하는 다중 테넌트 앱의 ID

분류에서Dev

`ip route add`는 중복 항목을 허용하지 않습니다. 이에 의존 할 수 있습니까?

분류에서Dev

Oracle 트리거는 테이블에 삽입을 허용하지 않습니다.

분류에서Dev

Oracle 트리거는 테이블에 삽입을 허용하지 않습니다.

분류에서Dev

사용자가 테이블에 중복 행을 삽입하는 것을 중지

분류에서Dev

MySQL은 Java 프로그램이 JDBC를 사용하여 삽입하는 것을 허용하지 않습니다.

분류에서Dev

중복을 허용하지 않는 이진 트리 생성

분류에서Dev

CD에서 파일을 대량 복사하고 도중에 허용되지 않는 파일 이름의 이름을 바꿉니다.

분류에서Dev

R plm 패키지에서 "중복 된 'row.names'는 허용되지 않음"을 해결하기 위해 필사적으로 : 중복이 없습니다.

분류에서Dev

이름 관리자는 EXCEL에 공백을 허용하지 않습니다.

분류에서Dev

입력은 이름 만 허용하고 숫자는 허용하지 않습니다.

분류에서Dev

이후 이중 삽입은 허용되지만 이전에는 허용되지 않습니다.

분류에서Dev

pureComputed 요소에서 중복을 허용하지 않습니다.

분류에서Dev

SSH에서 허용 할 때 SCP가 사용자 이름 / 호스트 이름 조합을 허용하지 않는 이유는 무엇입니까?

분류에서Dev

readline이 입력을 일시 중지하거나 허용하지 않습니다.

분류에서Dev

Java mongo db 드라이버를 사용하여 MongoDB 삽입을 사용하는 동안 중복 키 오류

분류에서Dev

각 삽입 후 추가 한 행을 사용하는 다중 이미지 삽입

분류에서Dev

535-5.7.8 Gmail을 사용하는 Rails Mailer에서 사용자 이름과 비밀번호가 허용되지 않습니다.

분류에서Dev

OpenAPI 3는 중복 매개 변수 이름을 허용하지만 다른 위치 (경로 / 쿼리 / 헤더)에 있습니까?

분류에서Dev

nhibernate가 ID 식별자가있는 상태 비 저장 세션 중에 배치 삽입을 허용하지 않는 이유는 무엇입니까?

분류에서Dev

AWS API Gateway는 인증서에 대한 사용자 지정 도메인 이름 연결을 허용하지 않습니다.

분류에서Dev

중복 된 사용자 이름을 확인하면 사용자를 업데이트 할 수 없습니다.

분류에서Dev

Codeigniter는 사용자에게 이름 속성을 표시하지 않습니다.

분류에서Dev

knockoutJs ko.utils.arrayFirst는 결과로 중복 값을 허용하지 않습니다.

분류에서Dev

Deconvolution Layer는 이중 선형 필러가있는 5D Blob을 허용하지 않습니다.

분류에서Dev

Hibernate는 테이블 이름에 엔티티 클래스 이름을 사용하도록 허용하지 않습니다.

분류에서Dev

사용자가 내 이메일 주소를 복사하지만 크롤러는 복사하지 못하도록 허용하는 방법은 무엇입니까?

분류에서Dev

ssh는 구성을 통해 이름이 변경된 키 쌍을 허용하지 않습니다.

Related 관련 기사

  1. 1

    Laravel 5.1은 현재 사용자에게 중복 된 gecko 이름을 허용하지 않습니다.

  2. 2

    중복 이메일 또는 사용자 이름을 허용하는 다중 테넌트 앱의 ID

  3. 3

    `ip route add`는 중복 항목을 허용하지 않습니다. 이에 의존 할 수 있습니까?

  4. 4

    Oracle 트리거는 테이블에 삽입을 허용하지 않습니다.

  5. 5

    Oracle 트리거는 테이블에 삽입을 허용하지 않습니다.

  6. 6

    사용자가 테이블에 중복 행을 삽입하는 것을 중지

  7. 7

    MySQL은 Java 프로그램이 JDBC를 사용하여 삽입하는 것을 허용하지 않습니다.

  8. 8

    중복을 허용하지 않는 이진 트리 생성

  9. 9

    CD에서 파일을 대량 복사하고 도중에 허용되지 않는 파일 이름의 이름을 바꿉니다.

  10. 10

    R plm 패키지에서 "중복 된 'row.names'는 허용되지 않음"을 해결하기 위해 필사적으로 : 중복이 없습니다.

  11. 11

    이름 관리자는 EXCEL에 공백을 허용하지 않습니다.

  12. 12

    입력은 이름 만 허용하고 숫자는 허용하지 않습니다.

  13. 13

    이후 이중 삽입은 허용되지만 이전에는 허용되지 않습니다.

  14. 14

    pureComputed 요소에서 중복을 허용하지 않습니다.

  15. 15

    SSH에서 허용 할 때 SCP가 사용자 이름 / 호스트 이름 조합을 허용하지 않는 이유는 무엇입니까?

  16. 16

    readline이 입력을 일시 중지하거나 허용하지 않습니다.

  17. 17

    Java mongo db 드라이버를 사용하여 MongoDB 삽입을 사용하는 동안 중복 키 오류

  18. 18

    각 삽입 후 추가 한 행을 사용하는 다중 이미지 삽입

  19. 19

    535-5.7.8 Gmail을 사용하는 Rails Mailer에서 사용자 이름과 비밀번호가 허용되지 않습니다.

  20. 20

    OpenAPI 3는 중복 매개 변수 이름을 허용하지만 다른 위치 (경로 / 쿼리 / 헤더)에 있습니까?

  21. 21

    nhibernate가 ID 식별자가있는 상태 비 저장 세션 중에 배치 삽입을 허용하지 않는 이유는 무엇입니까?

  22. 22

    AWS API Gateway는 인증서에 대한 사용자 지정 도메인 이름 연결을 허용하지 않습니다.

  23. 23

    중복 된 사용자 이름을 확인하면 사용자를 업데이트 할 수 없습니다.

  24. 24

    Codeigniter는 사용자에게 이름 속성을 표시하지 않습니다.

  25. 25

    knockoutJs ko.utils.arrayFirst는 결과로 중복 값을 허용하지 않습니다.

  26. 26

    Deconvolution Layer는 이중 선형 필러가있는 5D Blob을 허용하지 않습니다.

  27. 27

    Hibernate는 테이블 이름에 엔티티 클래스 이름을 사용하도록 허용하지 않습니다.

  28. 28

    사용자가 내 이메일 주소를 복사하지만 크롤러는 복사하지 못하도록 허용하는 방법은 무엇입니까?

  29. 29

    ssh는 구성을 통해 이름이 변경된 키 쌍을 허용하지 않습니다.

뜨겁다태그

보관