Ich habe eine Sammlung mit Datensätzen wie diesem
> db.company.findOne({companyId:1})
{
"_id" : ObjectId("4e22ff08eefdd839f60ab95f"),
"lastUpdate" : ISODate("2011-07-11T17:00:00Z"),
"errorCount" : 0,
"house" : 49,
"phones" : [
{
"cityCode" : "3852",
"number" : "461423",
"type" : "phone"
},
{
"cityCode" : "3852",
"number" : "461317",
"type" : "phone"
}
],
"houseAdd" : "",
"rubricsId" : [
NumberLong(184108177),
NumberLong(184108175)
],
"companyId" : NumberLong(1)
}
jetzt versuche ich alle Firmen zu finden, deren Telefonnummern mit 8-800 beginnen Ich versuche, meine Anfrage zu suchen
db.company.find({"phones.number":/8-800.*/}
und erhalten eine leere Liste. Aber
db.company.find({"phones.number":/8.*/})
alle Unternehmen zurückgeben, deren Telefonnummern mit acht beginnen. AFAIK ist '-' kein spezielles Zeichen für regex in diesem Zusammenhang? Ich habe regex '8\-800' mit dem gleichen Ergebnis versucht. Wo liege ich falsch?