>웹 프론트엔드 >JS 튜토리얼 >js를 사용하여 MongoDB에서 퍼지 쿼리를 구현하는 방법에 대한 튜토리얼

js를 사용하여 MongoDB에서 퍼지 쿼리를 구현하는 방법에 대한 튜토리얼

零下一度
零下一度원래의
2018-05-25 09:20:244764검색

퍼지 쿼리는 데이터베이스의 기본 작업 중 하나입니다. 다음 글에서는 Node.js를 사용하여 MongoDB 데이터베이스에서 퍼지 쿼리를 구현하는 방법에 대한 튜토리얼을 주로 소개합니다. 기사에는 모든 사람에게 특정 참조 가치가 있는 자세한 소개와 샘플 코드가 제공됩니다. 필요한 친구는 아래에서 살펴볼 수 있습니다.

서문

퍼지 쿼리는 데이터베이스의 기본 작업 중 하나입니다. 주어진 문자열 이 일치하는지 확인합니다. 지정된 패턴을 일치시킵니다. 문자가 완전히 일치하면 = 등호로 표현할 수 있으며, 부분적으로 일치하면 퍼지 쿼리로 간주할 수 있습니다. 관계형 데이터에서는 SQL을 통해 '%fens%'와 같은 구문을 사용합니다. 그렇다면 mongodb에서 퍼지 쿼리의 효과를 어떻게 달성해야 할까요?

디렉터리

  • mongodb 퍼지 쿼리

  • nodejs via mongoose Fuzzy query

1. Mongodb 퍼지 쿼리

mongodb를 열고 이름 텍스트 필드로 테스트합니다.

정확한 쿼리

{'name':'Future Police'}인 경우 레코드와 정확히 일치합니다.

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

퍼지 쿼리

{'name':/future/}, 여러 레코드와 일치합니다.

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

MongoDB의 퍼지 쿼리는 실제로 일종의 일반 쿼리입니다.

참고: 관계형 데이터에는 퍼지 쿼리를 위한 별도의 키워드가 있습니다. like를 사용하지 않으면 관계형 데이터에서도 일반 쿼리를 사용할 수 있습니다.

MongoDB 공식 소개: docs.mongodb.org/manual/reference/operator/regex/

공식 예:

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

2. Nodejs는 몽구스의 퍼지 쿼리를 사용합니다.

원하는 효과:

다음은 퍼지 쿼리에 몽구스를 사용하는 방법에 대해 이야기하세요.

mongoose를 사용하여 mongodb에 액세스하는 방법은 Mongoose를 사용하여 MongoDB에 JSON 데이터 또는 업데이트를 직접 삽입하는 문서에서 논의되었습니다.

영화를 모델링하고 다오 레이어를 구성합니다.

모든 영화 쿼리

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

쿼리객체를 전달하여 쿼리할 수 있습니다.

다음으로 쿼리 객체를 구성합니다

//代码片断
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});
 });
}

참고: 방금 정규식 가 구현되어 mongodb에 해당하므로 '/../' 슬래시를 직접 사용할 수 있습니다.

그러나 nodejs에서는 정규식 개체를 빌드하려면 RegExp를 사용해야 합니다.

위 내용은 js를 사용하여 MongoDB에서 퍼지 쿼리를 구현하는 방법에 대한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.