Mongo'da içinde String objectIddönüştürme Şu anda bu senaryoda olduğum Toplama
{
_id:ObjectId('56edbb4d5f084a51131dd4c6'),
userRef:ObjectId('56edbb4d5f084a51131dd4c6'),
serialNumber:'A123123',
...
}
Ben userRef + SERIALNUMBER bunları gruplandırarak, tüm belgeleri toplamak gerekir, bu yüzden 'böyle concat kullanmaya çalışıyorum:
Yani temelde MongoDB benim toplam almada$group: {
_id: {
'$concat': ['$userRef','-','$serialNumber']
},
...
, bir objectId ve bir dize sıralanmasıyla grup belgeler gerekir.
uncaught exception: aggregate failed: {
"errmsg" : "exception: $concat only supports strings, not OID",
"code" : 16702,
"ok" : 0
}
bir toplanma ifadesi içinde bir String bir objectId dönüştürmek için bir yolu var mı: Ancak, $ concat sadece parametre olarak dizeleri kabul ettiğini görünüyor?
DÜZENLEME:
Bu question ilişkilidir, ancak çözüm sorunumu uymuyor. (Özellikle toplama sırasında ObjectId.toString() yöntemini kullanamadığım için)
Gerçekten de Mongo'nun belgelerinde herhangi bir ObjectId(). ToString() işlemi bulamadım, ancak herhangi bir sorun olup olmadığını merak ediyorum. bu durumda yapılmalı.
Belki '_id: [$ userRef, $ serialNumber]' çalışır? Sana bir ip vermeyecek. –