La requête floue est l'une des opérations de base de la base de données. L'article suivant présente principalement un tutoriel sur la façon d'utiliser Node.js pour implémenter une requête floue sur la base de données MongoDB. L'article donne une introduction détaillée et un exemple de code, qui a une certaine valeur de référence pour tous les amis qui en ont besoin peuvent y jeter un œil ci-dessous.
Préface
La requête floue est l'une des opérations de base de la base de données. Elle vérifie si une chaîne donnée correspond. Correspond au modèle spécifié. Si les caractères correspondent complètement, cela peut être exprimé par le signe = égal. Si les caractères correspondent partiellement, cela peut être considéré comme une requête floue. Dans les données relationnelles, utilisez une syntaxe telle que « %fens% » via SQL. Alors, comment devrions-nous obtenir l'effet de requête floue dans MongoDB.
Répertoire
requête floue mongodb
nodejs via mangouste Fuzzy requête
1. Requête floue Mongodb
Nous ouvrons mongodb et testons avec le champ de texte du nom.
Requête exacte
Quand {'name':'Future Police'}, correspond exactement à un enregistrement.
db.movies.find({'name':'未来警察'})
Requête floue
{'name':/future/}, correspondant à plusieurs enregistrements.
db.movies.find({'name':/未来/})
La requête floue de MongoDB est en fait un type de requête régulière.
Remarque : dans les données relationnelles, il existe un mot-clé distinct comme pour la requête floue. Si vous n'utilisez pas like, vous pouvez également utiliser une requête standard dans les données relationnelles.
Introduction officielle à MongoDB : docs.mongodb.org/manual/reference/operator/regex/
Exemple officiel :
db.collection.find( { field: /acme.*corp/i } ); db.collection.find( { field: { $regex: 'acme.*corp', $options: 'i' } } );
2. Requête floue Nodejs via mangouste
L'effet recherché :
Allons expliquez comment utiliser la mangouste pour effectuer une requête floue.
L'utilisation de Mongoose pour accéder à Mongodb a été abordée dans l'article Utiliser Mongoose pour insérer directement des données JSON ou mettre à jour dans MongoDB.
Nous modélisons le film et construisons la couche dao.
Interroger tous les films
MovieDAO.prototype.findByName = function(query, callback) { Movie.findOne(query, function(err, obj){ callback(err, obj); }); };
Vous pouvez interroger en passant la requêteobjet.
Ensuite, construisez l'objet de requête
//代码片断 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}); }); }
Veuillez noter : Nous venons d'analyser la requête floue de MongoDB via Expression régulière est implémenté, correspondant à mongodb, vous pouvez utiliser directement la barre oblique '/../'.
Mais dans nodejs, vous devez utiliser RegExp pour créer un objet d'expression régulière.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!