db.school.find({ "merchant" : "cc8c0421-e7fc-464d-9e1d-37e168b216c3" })
dies ist ein Beispiel-Dokument aus der Schule Sammlung von dieser Abfrage:Cant finden doppelte Werte für Array-Teil in mongodb
{
"_id" : ObjectId("57fafasf2323232323232f57682cd42"),
"status" : "wait",
"merchant" : "cc8c0421-e7fc-464d-9e1d-37e168b216c3",
"isValid" : false,
"fields" : { "schoolid" : {
"value" : "2323232",
"detail" : {
"revisedBy" : "teacher",
"revisionDate" : ISODate("2015-06-24T09:22:44.288+0000")
},
"history" : [
]
}}
}
ich sehen will, welche duplcate schoolid hat. SO mache ich das:
db.school.aggregate([
{$match:{ "merchant" : "cc8c0421-e7fc-464d-9e1d-37e168b216c3"
{ $group: {
_id: { fields.schoolid.value: "$fields.schoolid.value" },
count: { $sum: 1 }
} },
{ $match: {
count: { $gte: 2 }
} },
{ $sort : { count : -1} },
{ $limit : 10 }
]);
aber es gibt Fehler.
viele Fehler für viele Linien
ich so
_id: { "fields.schoolid.value": "$fields.schoolid.value" },
oder _id zu tun versucht: { 'fields.schoolid.value': „$" fields.schoolid. Wert '"},
aber hat nicht funktioniert. Kann ich es benutzen?
ich Felder hinzugefügt. Es tut uns leid. Ich habe es mit "" aber immer noch gleich eingeschlossen – mark