Ich arbeite in Mongodb. Ich habe eine Sammlung, in der Sammlung gibt es ein EmailAddress Feld. In EmailAddress gibt es zahlreiche ungültige & gültige EmailAddress Daten.Regex in Mongo Sammlung Aggregat Abfrage
Ich habe eine Abfrage geschrieben, um den doppelten Datensatz zu finden. Ich bin auch in der Lage, gültige EmailAddress zu finden, aber nicht in der Lage, beide Abfragen zusammenzuführen.
db.EZShredCustomerData.aggregate(
{"$match": {"AccountObjectId" : "597ee5ed1f2632885bb650"} },
{"$group" :
{
"_id": "$EmailAddress",
"AccountObjectID" : { $first: '$AccountObjectId' },
"EmailAddress" : { $first: '$EmailAddress' },
"count": { "$sum": 1 }
} },
{"$match": {"count" : { $gte: 1 }} })
Durch diese Abfrage, erhalte ich doppelte Datensätze wie
[email protected] 2
n/a 24
[email protected] 12
none 16
; 8
460
Ich schreibe auch die E-Mail-Validierung gültig ist oder nicht
db.EZShredCustomerData.find({
"AccountObjectId": "597ee5ed1f2632885bb650",
EmailAddress: { $regex: /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/}
})
Problem ist, dass aufgrund mangelnder Erfahrung in mongo nicht in der Lage, beide Abfragen zusammenzuführen und erwartete Daten zu erhalten
AccountObjectID EmailAddress
597ee5ed1f2632885bb650 [email protected]
597ee5ed1f2632885bb650 [email protected]