Проблема здесь в том, что вы неправильно определили свой _id
для $group
этапа.Драйвер MongoDB интерпретирует его как строку:
{ "$group" : { "_id" : "{userKey: \"$userKey\", appId:\"$appId\"}", "uniqueIds" : { "$addToSet" : "$_id" }
Чтобы исправить это, вы можете вкладывать другое BsonDocument
, например:
.AppendStage<BsonDocument>
(
new BsonDocument { { "$group", new BsonDocument("_id",
new BsonDocument() { { "userKey", "$userKey" }, { "appId", "$appId" } })
.Add("uniqueIds", new BsonDocument("$addToSet", "$_id"))
.Add("count", new BsonDocument("$sum", 1))} }
)
, которое будет переведено в:
{ "$group" : { "_id" : { "userKey" : "$userKey", "appId" : "$appId" }, "uniqueIds" : { "$addToSet" : "$_id" }