Mongodb aggregate$계산

0

질문

고 싶을 계산하는 문서의 번호를 반환에 의해 집계.

나는 확실 내 초기 집계 작동하기 때문에,내가 그것을 사용 후에는 내용. 그렇게 만든 파이프라인을 변수(여기에 호출 pipelineTest,나에게 묻는 경우에 당신은 그것을 보고 싶지만,그것은 매우 길고,그 이유는 내가 주지 않는 라인이 여기에).

의 수를 계산하고 반환되는 문서,나는 밀 내 파이프라인: {$count: "totalCount"}

지금디오 보안 시스템에 액세스 할(또는 로그) totalCount 값이 있습니다. 나는 무엇을 해야 합니까?

여기에는 집계:

pipelineTest.push({$count: "totalCount"});
        cursorTest = collection.aggregate(pipelineTest, options)
        console.log(cursorTest.?)

당신의 도움에 대한 감사,저는 읽고 많은 doc 에 대해 집계하고 난 아직도 이해하지 못하는 방법을 읽기 결과의 집계를...

aggregate mongodb
2021-11-23 20:45:58
2

최고의 응답

0
  1. 고 가정하고 당신이 사용하는 비동기/여문-당신이해야에서 기다리고 그 결과의 정의합니다
  2. 변환할 수 있습니다 커서를 배열 첫 요소의 배열 및 액세 totalCount.
     pipelineTest.push({$count: "totalCount"});   
     cursorTest = await collection.aggregate(pipelineTest, options).toArray();  
     console.log(cursorTest[0].totalCount);
2021-11-23 21:05:41

답변 감사합니다. Hmm,을 사용하면 기다리고 있습니다,그것은 이 오류를 반환합니다:``cursorTest=리 컬렉션입니다.집계(pipelineTest,옵션).toArray();^^^^^SyntaxError:리에서만 유효합니다 비동기`기능`
Aux98

지 않는 경우 사용할 기다리고 있습니다,나는 이 오류가 발생할 수 있습니다.``(노드:21748)UnhandledPromiseRejectionWarning:TypeError:읽을 수 없습니다 property'totalCount'정의되지 않음(노드:21748)UnhandledPromiseRejectionWarning:처리되지 않은 약속을 거부. 이 오류가 발생한에 의해 하나 던지고 내부 비동기 기능이 없 catch 블록,또는 거절하는 약속는 처리되지 않았습니다.catch(). 를 종료하는 노드 프로세스에서 처리되지 않은 약속을 거부``
Aux98

@Aux98 이? 컬렉션입니다.집계(pipelineTest,옵션).toArray().다음(res=>console.로그(res[0])).catch(err=>console.error(err))
Sergey Shevchuk

네이처럼 일하는,당신의 도움을 주셔서 감사합니다! 하지만,.toArray 은 정말로 느린(5 분 소요됩 결과를 반환). 내가 필요로하는 이 기능을 사용하려면 6 시간 그것이 문제가 될 수 있습니다. 그러나 내가 하려고 최적화하기 위해 코드하는 시간을 줄일 수 있습니다. 다시 한번 감사
Aux98
0

집계

db.mycollection.aggregate([
    {
        $count: "totalCount"
    }
])

결과

[ { totalCount: 3 } ]

귀하의 사항

다음과 같이 하십시오.

pipelineTest.push({$count: "totalCount"});
cursorTest = collection.aggregate(pipelineTest, options)
console.log(cursorTest.totalCount)
2021-11-23 20:58:33

답변 감사합니다,콘솔 return: undefined
Aux98

하지만 실제로 그것은 내가 무엇을 시도에 먼저...
Aux98

Ahh 사용하고 있어야 합니다 특정 언어로-아마 JavaScript...
barrypicker

Ho 예 잊었는 것을 말하는 것,참으로 그것의 자바스크립트.
Aux98

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................