2016-06-20 8 views
1

Ich habe diesen Grund Mongo Dokument:MongoDB ein Dokument übereinstimmen, auch wenn der Feldwert präziser als die in dem Dokument ist

{version: "v1.5"} 

Das Problem, das ich habe, ist, dass, wenn ich benutze: db.coll.find({version: "/v1.5/i"}) es gibt das Dokument zurück, aber wenn ich mehr als 1.5 wie dieses db.coll.find({version: "/v1.5.1/i"}) angegeben habe, gibt es das Dokument nicht zurück.

In MySQL kann ich nur tun: SELECT * IN versions WHERE CONCAT('%', field, '%') = "1.5.1"

Wie würde ich es das Dokument machen zurück, wenn die Version präziser als in dem Dokument ist.

Antwort

0

könnten Sie optionale Parameter Regex verwenden, platzieren:

v1\.5(\.\d)?? 

Das auf App Seite bedeutet, dass Sie, wie viele Punkte überprüfen, müssen in bestimmten Versionsfeld vorhanden ist, und entscheiden

  1. alles gestutzt nach der zweiten Punkt (dot enthalten)
  2. add regex oben zusätzliche Daten als optional group
zur Behandlung von

BTW - bitte entkommen Punkt in Ihrem Regex, da dies Version v125 oder auch entsprechen könnte.

+0

Ich gab Version als ein Beispiel, aber es half mir, das Problem zu lösen, das ich hatte. – User

Verwandte Themen