Maison > interface Web > js tutoriel > Tutoriel sur la façon d'implémenter une requête floue sur MongoDB à l'aide de js

Tutoriel sur la façon d'implémenter une requête floue sur MongoDB à l'aide de js

零下一度
Libérer: 2018-05-25 09:20:24
original
4804 Les gens l'ont consulté

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':'未来警察'})
Copier après la connexion

Requête floue

{'name':/future/}, correspondant à plusieurs enregistrements.

db.movies.find({'name':/未来/})
Copier après la connexion

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' } } );
Copier après la connexion

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);
 });
};
Copier après la connexion

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});
 });
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal