【问题标题】:Error 'unknown MongoDB operation 'aggregate'' when using aggregate in WSo2 Integration Studio?在 WSo2 Integration Studio 中使用聚合时出现错误\'unknown MongoDB operation \'aggregate\'\'?
【发布时间】:2023-01-16 21:52:16
【问题描述】:
我正在使用 Wso2 Integration Studio 8.1 版本。我想使用聚合查询。但是 Wso2 Integration Studip 给出错误 DS Fault Message: Error in MongoQuery.runQuery: DS Fault Message: Unknown MongoDB operation 'aggregate'
【问题讨论】:
标签:
wso2
wso2-integration-studio
【解决方案1】:
恐怕 Micro Integrator 目前不支持它。这是来自支持以下操作的code。
private DBConstants.MongoDB.MongoOperation convertToMongoOp(String operation) throws DataServiceFault {
if (DBConstants.MongoDB.MongoOperationLabels.COUNT.equals(operation)) {
return DBConstants.MongoDB.MongoOperation.COUNT;
} else if (DBConstants.MongoDB.MongoOperationLabels.DROP.equals(operation)) {
return DBConstants.MongoDB.MongoOperation.DROP;
} else if (DBConstants.MongoDB.MongoOperationLabels.FIND.equals(operation)) {
return DBConstants.MongoDB.MongoOperation.FIND;
} else if (DBConstants.MongoDB.MongoOperationLabels.FIND_ONE.equals(operation)) {
return DBConstants.MongoDB.MongoOperation.FIND_ONE;
} else if (DBConstants.MongoDB.MongoOperationLabels.INSERT.equals(operation)) {
return DBConstants.MongoDB.MongoOperation.INSERT;
} else if (DBConstants.MongoDB.MongoOperationLabels.REMOVE.equals(operation)) {
return DBConstants.MongoDB.MongoOperation.REMOVE;
} else if (DBConstants.MongoDB.MongoOperationLabels.UPDATE.equals(operation)) {
return DBConstants.MongoDB.MongoOperation.UPDATE;
} else if (DBConstants.MongoDB.MongoOperationLabels.EXISTS.equals(operation)) {
return DBConstants.MongoDB.MongoOperation.EXISTS;
} else if (DBConstants.MongoDB.MongoOperationLabels.CREATE.equals(operation)) {
return DBConstants.MongoDB.MongoOperation.CREATE;
} else {
throw new DataServiceFault("Unknown MongoDB operation '" + operation + "'");
}
}
即使 MongoDB connector 也不支持聚合操作,因此您最好的选择是编写自定义中介来完成此操作或尝试改进现有的连接器。