sql >> データベース >  >> NoSQL >> MongoDB

MongooseJS/MongoDB検索の正確なフレーズ

    最初と最後の文字が引用符であるかどうかを確認するのがおそらく最も簡単だと思います。しかし、マングース自体はこれを行うことができません。事前にクエリを準備し、適切な findを選択することをお勧めします。 メソッド。

    $regexを使用することもできます コレクション内の各ドキュメントの「keyword」プロパティに対して指定された正規表現を実行する演算子。

    var userInput = '"Apple"';
    var term = userInput.trim(); 
    var caseInsensitive = true; // = some user input?
    
    var isExactTerm = (function() {
        var firstChar = term[0];
        var lastChar = term[term.length - 1];
        return (firstChar === '"' && lastChar === '"');
    }();
    
    if(isExactTerm) {
        // Remove quotes from the query
        term = term.substr(1, str.length - 1);
    }
    
    var method = (isExactTerm) ? 'findOne': 'find';
    var regexFlags = (caseInsensitive) ? 'i' : '';
    var query = (isExactTerm) ? term : {$regex: new RegExp(term, regexFlags)};
    
    Model[method]({
        keyword: query
    }).exec().then(function(result) {
        // do stuff with `result`
    }, function(err) {
        // handle `err`
    });
    



    1. Mongo DBにはインメモリモードがありますか?

    2. モジュール'../build/Release/bson']コードが見つかりません:'MODULE_NOT_FOUND'} js-bson:純粋なJSバージョンを使用してc++bson拡張機能を読み込めませんでした

    3. Mongoidの変数でLIKE/regexを使用する

    4. mongoグループはフィールドを保持する方法を照会します