복붙노트

[MONGODB] MongoDB의 정규 표현식 검색 - 자바 스크립트 드라이버 및 NodeJS를 사용하여로 시작

MONGODB

MongoDB의 정규 표현식 검색 - 자바 스크립트 드라이버 및 NodeJS를 사용하여로 시작

나는 nodejs에서 자바 스크립트 MongoDB의 드라이버를 사용하고 있습니다. 내 자바 스크립트 함수에서이 쿼리를 수행 할 :

db.mycollection.find({Zip:/^94404/}); 

몽고 클라이언트는이 기준과 일치하는 8 문서를 검색합니다. 그러나 내 자바 스크립트 코드는 문서를 가져 오지 않습니다.


    DataProvider.prototype.findByZipcode = function(zipCode, callback) {
        this.getCollection(function(error, collection) {
            if (error)
                callback(error);
            else {
                var qs = '{Zip:/^'+zipCode+'/}';
                collection.find(qs).toArray(function(error, results) {
                    if (error)
                        callback(error);
                    else
                        callback(null, results);
                });
            }
        });
    };

나는 또한 시도

<pre>
var qs = {Zip: '/^'+zipCode+'/'};
</pre>

BTW, 나는 정확히 일치하는 벌금을 작동 찾을 수 있습니다,하지만 그건 내가 원하는 게 아니에요.

즉.

<pre>
var q = {'Zip' :zipCode};
</pre>

해결법

  1. ==============================

    1.당신은 거의있다. 당신은 문자열 안에 정규식로 끝나는 당신이 이상한 찾고 우편 번호가 없다면 아무것도 찾을 것 '/ ^ 94404 /'문자열을 찾고 계속.

    당신은 거의있다. 당신은 문자열 안에 정규식로 끝나는 당신이 이상한 찾고 우편 번호가 없다면 아무것도 찾을 것 '/ ^ 94404 /'문자열을 찾고 계속.

    자바 스크립트 문자열에서 정규식 객체를 구축하는 가장 쉬운 방법은 새로운 정규식 (...)를 사용하는 것입니다 :

    var query = { Zip: new RegExp('^' + zipCode) };
    

    그럼 당신은 할 수 있습니다 :

    collection.find(query).toArray(...)
    

    그런 일이 MongoDB의 쉘에서 작동하고 자바 스크립트 인터페이스에서 작업뿐만 아니라해야하므로 유사한 일들이 루비 인터페이스에서 작동합니다.

  2. ==============================

    2.$ 옵션 => 내가 대소 문자를 구분 검색

    $ 옵션 => 내가 대소 문자를 구분 검색

    문자열로 시작

    db.collection.find({zip:{'$regex' : '^string', '$options' : 'i'}})
    

    문자열 끝

    db.collection.find({zip:{'$regex' : 'string$', '$options' : 'i'}})
    

    문자열을 포함합니다

    db.collection.find({zip:{'$regex' : 'string', '$options' : 'i'}})
    

    문자열을 포함하지 않습니다

    db.collection.find({zip:{'$regex' : '^((?!string).)*$', '$options' : 'i'}})
    

    책갈피, 당신이해야 할 수있는 다른 변경에 대한 참조로이 보관하십시오. http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/

  3. from https://stackoverflow.com/questions/11073863/mongodb-regular-expression-search-starts-with-using-javascript-driver-and-node by cc-by-sa and MIT license