Ich habe etwa 200.000 Dokumente in einer MongoDB Sammlung und ich brauche nur die Dokumente, die spezifische Inhalte hat.Suche nach String oder Nummer im Feld
Zum Beispiel
{
"_id": ObjectID("593ddb4f02a8b0e23446ad65"),
"instance_id": "166143",
"json": {
"o": {
"2": [9]
}
}
}
ich Dokumente erhalten möchten, die 9 in json.o.2 haben aber das Problem ist, kann json.o.2 ein Objekt sein, es kann auch eine Zeichenfolge sein & eine ganze Zahl zum Beispiel ich möchte all diese hier bekommen
"2": [9]
...
"2": 9
...
"2": "9"
...
"2": ["9"]
ich versuchte Regex zu verwenden, aber es hat nicht funktioniert
'json.o.2': { '$regex': /^(\[?)(.*)(,?)("?)9("?)(,?)(.*)(\]?)$/i }
Ich muss auch alle Dokumente, die ich Regex keine bestimmte Zahl enthalten, verwenden Sie auch für diesen Fall aber auch nicht mit $in
für beide
'json.o.2': { '$regex': /^([?)([^3]*)(,?)("?)([^3]*)("?)(,?)([^3]*)(]?)$/i }