복붙노트

[MONGODB] 몽고 결과에서 _id 제거

MONGODB

몽고 결과에서 _id 제거

나는 몽고와 nodejs 꽤 새로운 해요 내 쿼리의 결과로 JSON을했습니다 나는 간단하게 다음과 같은 HTTP 요청으로 결과를 반환 할 :

app.get('/itesms', function(req, res) {
  items.find().toArray(function (err, array) {
    res.send(array);
  })
});

그것은 단지 문제는 내가 결과에서 _id 필드 (재귀)를 숨기려한다는 것입니다, 작동합니다. 어떤 제안 우아한 방법으로 그렇게합니까?

해결법

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

    1.이 솔루션을보십시오 :

    이 솔루션을보십시오 :

    app.get('/itesms', function(req, res) {
      items.find({}, { _id: 0 }).toArray(function (err, array) {
        res.send(array);
      })
    });
    
  2. ==============================

    2.일반적인 .find ({}, {_id : 0}) 내가 사냥을 가서 몽고의 API 버전 3에서,이처럼 쓸 필요가 또 다른 SO 응답에서 찾을 수 있도록 접근 방식은, 나를 위해 작동하지 않는 :. 발견 ({}, {투사 : {_ ID : 0}}). 따라서, 예를 들어 :

    일반적인 .find ({}, {_id : 0}) 내가 사냥을 가서 몽고의 API 버전 3에서,이처럼 쓸 필요가 또 다른 SO 응답에서 찾을 수 있도록 접근 방식은, 나를 위해 작동하지 않는 :. 발견 ({}, {투사 : {_ ID : 0}}). 따라서, 예를 들어 :

    let docs = await db.collection("mycol").find({}, {projection:{_id:0}}).toArray();
    

    당신이이처럼 쓸 수 있습니다 (최소한의 nodejs API에) 그런 것 같습니다 :

    let docs = await db.collection("mycol").find({}).project({_id:0}).toArray();
    
  3. from https://stackoverflow.com/questions/9601219/remove-id-from-mongo-result by cc-by-sa and MIT license