我在這種情況下,現在: 我有一個集合X:轉換中蒙戈的ObjectId爲String聚合
{
_id:ObjectId('56edbb4d5f084a51131dd4c6'),
userRef:ObjectId('56edbb4d5f084a51131dd4c6'),
serialNumber:'A123123',
...
}
我需要聚合的所有文件,由userRef + SERIALNUMBER將它們分組,所以我「M試圖用CONCAT這樣的:
$group: {
_id: {
'$concat': ['$userRef','-','$serialNumber']
},
...
所以我在MongoDB中聚集基本上,我用的ObjectId和一個字符串的級聯需要組文件。但是,似乎$ concat只接受字符串作爲參數:
uncaught exception: aggregate failed: {
"errmsg" : "exception: $concat only supports strings, not OID",
"code" : 16702,
"ok" : 0
}
有沒有辦法將ObjectId轉換爲聚集表達式中的字符串?
編輯:
這question是相關的,但我的解決方案不適合我的問題。 (特別是因爲我不能在聚合過程中使用ObjectId.toString())
確實我在Mongo的文檔中找不到任何ObjectId()。toString()操作,但我不知道是否有任何棘手的事情可以在這種情況下完成。
也許'_id:[$ userRef,$ serialNumber]'有效嗎?它不會給你一個字符串。 –