sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB regex matching problemer

Problemet er med den delvise matchning, da du ikke begrænser regex for hele ordet, den delvise match, der findes i a:b:c det er a:b resulterer i, at du får det dokument.

Brug følgende regex med ^$ der er ankre til at repræsentere begyndelsen og slutningen af ​​ordet;

db.foo.find({path: /^a:[^:]+$/})
db.foo.find({path: /^a:[a-z]+$/})

Dette vil få regex til at gælde for hele strengen og ignorere de delvise matchninger som forklaret ovenfor. For mere om regex-ankre, klik her .

Så kort fortalt er der ingen fejl, kun misbrug af regulært udtryk.




  1. Hvordan bruger man variabel mongoose-forespørgsel?

  2. Hvorfor MongoDb-sortering er langsom med opslagssamlinger

  3. Hvordan kan jeg oprette forbindelse til X509 ved at sætte alle muligheder i forbindelsesstrengen i node.js driver til mongodb?

  4. Hvordan får man paginerede/opskårne data fra underdokumentarray i mongo-samling?