Heim >Web-Frontend >js-Tutorial >Tutorial zur Implementierung von Fuzzy-Abfragen in MongoDB mithilfe von js

Tutorial zur Implementierung von Fuzzy-Abfragen in MongoDB mithilfe von js

零下一度
零下一度Original
2018-05-25 09:20:244784Durchsuche

Fuzzy-Abfragen sind eine der Grundoperationen der Datenbank. Der folgende Artikel stellt hauptsächlich ein Tutorial zur Verwendung von Node.js zum Implementieren von Fuzzy-Abfragen in der MongoDB-Datenbank vor. Der Artikel enthält eine detaillierte Einführung und einen Beispielcode, der für alle Freunde, die ihn benötigen, einen gewissen Referenzwert hat und einen Blick darauf werfen kann.

Vorwort

Fuzzy-Abfrage ist eine der Grundoperationen der Datenbank. Sie prüft, ob eine bestimmte Zeichenfolge übereinstimmt Entspricht dem angegebenen Muster. Wenn die Zeichen vollständig übereinstimmen, kann dies durch = Gleichheitszeichen ausgedrückt werden. Wenn die Zeichen teilweise übereinstimmen, kann dies als Fuzzy-Abfrage betrachtet werden. Verwenden Sie in relationalen Daten eine Syntax wie „%fens%“ über SQL. Wie sollen wir also den Effekt einer Fuzzy-Abfrage in Mongodb erzielen?

Verzeichnis

  • Mongodb-Fuzzy-Abfrage

  • nodejs über Mungo Fuzzy Abfrage

1. Mongodb-Fuzzy-Abfrage

Wir öffnen mongodb und testen mit dem Namenstextfeld.

Genaue Abfrage

Bei {'name':'Future Police'} wird ein exakter Datensatz abgeglichen.

db.movies.find({'name':'未来警察'})

Fuzzy-Abfrage

{'name':/future/}, passend zu mehreren Datensätzen.

db.movies.find({'name':/未来/})

Die Fuzzy-Abfrage von MongoDB ist eigentlich eine Art reguläre Abfrage.

Hinweis: In relationalen Daten gibt es ein separates Schlüsselwort „like“ für Fuzzy-Abfragen. Wenn Sie „like“ nicht verwenden, können Sie in relationalen Daten auch eine reguläre Abfrage verwenden.

Offizielle MongoDB-Einführung: docs.mongodb.org/manual/reference/operator/regex/

Offizielles Beispiel:

db.collection.find( { field: /acme.*corp/i } );
db.collection.find( { field: { $regex: 'acme.*corp', $options: 'i' } } );

2. Nodejs Fuzzy-Abfrage durch Mungo

Der gewünschte Effekt:

Lass uns reden Informationen zur Verwendung von Mungo zur Durchführung von Fuzzy-Abfragen.

Die Verwendung von Mongoose für den Zugriff auf MongoDB wurde im Artikel „Mongoose zum direkten Einfügen von JSON-Daten oder zum Update in MongoDB verwenden“ erläutert.

Wir modellieren den Film und konstruieren die Dao-Ebene.

Alle Filme abfragen

MovieDAO.prototype.findByName = function(query, callback) {
 Movie.findOne(query, function(err, obj){
 callback(err, obj);
 });
};

Sie können eine Abfrage durchführen, indem Sie das AbfrageObjekt übergeben.

Als nächstes erstellen Sie das Abfrageobjekt

//代码片断
exports.movie = function(req, res) {
 var query={};
 if(req.query.m2) {
 query['name']=new RegExp(req.query.m2);//模糊查询参数
 }

 Movie.findByName (query,function(err, list){
 return res.render('admin/movie', {movieList:list});
 });
}

Bitte beachten Sie: Gerade haben wir die Fuzzy-Abfrage von MongoDB durch Regulären Ausdruck analysiert ist implementiert und entspricht Mongodb. Sie können den Schrägstrich '/../' direkt verwenden.

Aber in NodeJS müssen Sie RegExp verwenden, um ein reguläres Ausdrucksobjekt zu erstellen.

Das obige ist der detaillierte Inhalt vonTutorial zur Implementierung von Fuzzy-Abfragen in MongoDB mithilfe von js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn