我正在尝试猫鼬的聚合。当我运行聚合时,它显示了错误。我错过了什么?
const data = await Rooms.aggregate([{ $match: { adminID: "1234" } }]);
错误如下
MongoInvalidArgumentError: Method "collection.aggregate()" accepts at most two arguments
Edit——code for Rooms Schema
const mongoose = require('mongoose');
const Rooms = new mongoose.Schema(
{adminID: {
type: String,
required: true,
},
roomID: {
type: String,
required: true,
},
roomName: {
type: String,
required: true,
},
users: [
{
id: {
type: String,
required: true,
unique: true,
},
},
],
},
{ timestamps: true } );
模块。exports = mongoose.model(" Rooms ", Rooms);
解决方案一:将mongoose降级到版本5
方案2:
const data = await Rooms.aggregate([{ $match: { adminID: "1234" } }],"adminID roomID roomName users");
在新版本第二个参数是选定字段在输出,
或使用:
const data = await Rooms.aggregate.match({ adminID: "1234" } )