私は今、このシナリオにいる:私はuserRef +のserialNumberによってそれらをグループ化し、すべての文書を集約する必要が変換
{
_id:ObjectId('56edbb4d5f084a51131dd4c6'),
userRef:ObjectId('56edbb4d5f084a51131dd4c6'),
serialNumber:'A123123',
...
}
ので、私:私はコレクションのXを持っている 「このように連結使用しようとは:m
したがって、基本的にMongoDBの私の凝集の$group: {
_id: {
'$concat': ['$userRef','-','$serialNumber']
},
...
、私がのObjectIdと、文字列の連結によって、グループ文書にする必要があります。
uncaught exception: aggregate failed: {
"errmsg" : "exception: $concat only supports strings, not OID",
"code" : 16702,
"ok" : 0
}
集約式の中の文字列にのObjectIdを変換する方法はあります:しかし、$の連結のみをパラメータとして文字列を受け入れるようですか?
EDIT:
このquestionは、関連ですが、私は解決策は、私の問題に適合していません。 (特に、集計中にObjectId.toString()を使用できないため)
実際、MongoのドキュメントではObjectId()。toString()操作は見つかりませんでしたが、難しいことはありますか?この場合に行われます。
おそらく '_id:[$ userRef、$ serialNumber]'は動作しますか?それはあなたに文字列を与えることはありません。 –