복붙노트

[MONGODB] 몽고는 ID의 목록을 찾을 수 있습니다

MONGODB

몽고는 ID의 목록을 찾을 수 있습니다

나는, 문자열 MongoDB의 ID 목록을 반환하는 프로세스를

[512d5793abb900bf3e20d012, 512d5793abb900bf3e20d011]

그리고 몽고에 단일 쿼리를 발사와 일치하는 문서 목록과 같은 순서로 돌아 가야합니다.

이 작업을 수행하는 쉘 표기법은 무엇입니까?

해결법

  1. ==============================

    1.하며 Object로 문자열을 변환 한 후, 당신은 목록에서 문서를 얻기 위해 운영자에 $를 사용할 수 있습니다. 워드 프로세서가 목록의 순서대로 다시 얻을 수 있지만, 몇 가지 방법이 그것을 처리하기 위해 여기를 볼 수있는 쿼리 표기가 없습니다.

    하며 Object로 문자열을 변환 한 후, 당신은 목록에서 문서를 얻기 위해 운영자에 $를 사용할 수 있습니다. 워드 프로세서가 목록의 순서대로 다시 얻을 수 있지만, 몇 가지 방법이 그것을 처리하기 위해 여기를 볼 수있는 쿼리 표기가 없습니다.

    var ids = ['512d5793abb900bf3e20d012', '512d5793abb900bf3e20d011'];
    var obj_ids = ids.map(function(id) { return ObjectId(id); });
    db.test.find({_id: {$in: obj_ids}});
    
  2. ==============================

    2.최종 목적은 당신에 의해 순서와 문서를 얻을 경우 식별자 목록을 미리 얻을, 당신은 단지 매핑 (키와 아이디, 값으로 문서)에 질의 결과를 변환 한 다음 문서를 얻을 수있는 식별자 목록을 통과 할 수 있습니다.

    최종 목적은 당신에 의해 순서와 문서를 얻을 경우 식별자 목록을 미리 얻을, 당신은 단지 매핑 (키와 아이디, 값으로 문서)에 질의 결과를 변환 한 다음 문서를 얻을 수있는 식별자 목록을 통과 할 수 있습니다.

  3. ==============================

    3.// 카테고리 ID 쉼표 요청 "5c875c27d131b755d7abed86,5c875b0ad131b755d7abed81"을 구분

    // 카테고리 ID 쉼표 요청 "5c875c27d131b755d7abed86,5c875b0ad131b755d7abed81"을 구분

    var ids= req.body.categoryId.split(','); 
    
    db.test.find({ categoryId: { $in: ids } });
    
  4. from https://stackoverflow.com/questions/15102532/mongo-find-through-list-of-ids by cc-by-sa and MIT license