【发布时间】:2013-09-11 19:25:13
【问题描述】:
这是我要执行的查询:
db['applications'].aggregate(
{$project: {key:1, _id:0}}
,{$group: { _id:null, keyList: {$addToSet:"$key"}}} );
这是我正在使用的代码:
Aggregation agg = newAggregation(
project("key"),
group("key").addToSet("key").as("keylist")
);
但是,产生的结果是这样的:
Executing aggregation:
{ "aggregate" : "applications" , "
pipeline" : [
{ "$project" : { "key" : "$key"}} ,
{ "$group" : { "_id" : "$key" , "keylist" : { "$addToSet" : "$key"}}}
]}
为什么组中的_id键设置为'group'的参数。如何使其为空?
如何让 Spring MongoData 生成我想要的查询?
【问题讨论】:
-
仅供参考:这与您的问题没有直接关系,但您不需要在 $group 之前明确添加 $project 阶段。 MongoDB 将自动确定源文档中需要哪些字段并仅提取这些字段。 (我是聚合框架的主要开发者)
-
只是出于好奇,这对我的回答有帮助吗?
标签: spring mongodb spring-data spring-data-mongodb