Игровая площадка с образцом данных: https://mongoplayground.net/p/OJKVFHLamig
Тем не менее, когда я запускаю mongoose в Node, точно такая же коллекция и агрегация вместо этого возвращает общее количество документов, а все остальное равно нулю:
[ { _id: null, myCount: 130111, site: null } ]
Я рассмотрел все другие переменные, каждую запятую в моем производственном коде, и больше ничего не объясняет это поведение.
Не подходит ли Mongoose для использования в монгоСтруктура агрегации или я что-то упустил из-за синтаксиса?
Схема:
import mongoose from 'mongoose';
import { SiteModel } from './site.schema';
const JobModel = new mongoose.Schema({
_id: String,
(other properties that are strings)
title: String,
site: { SiteModel },
});
export default mongoose.model('jobs', JobModel);
// SITE MODEL:
export const SiteModel = new mongoose.Schema({
_id: String;
title: String;
city: String;
UNID: String;
})
Модели неполные, так как я использую их только для чтения, база данных используется другим приложениемв прямом эфире, и я просто создаю некоторые отчеты / ищу некоторые данные на нем.
Я, однако, извлекаю все данные, которые мне нужны, и до сих пор это работало без сбоев.
РЕДАКТИРОВАТЬ 3: ЗАПИСЬ ВХОДА:
{ aggregate: "sites", pipeline:
[ { $group: { _id: "$site.UNID", myCount: { $sum: 1 },
score: { $first: "$score" } } },
{ $limit: 20 },
{ $project: { site: "$_id", myCount: 1 } } ]