42

両方に同じ正規表現を使用して複数のフィールドにクエリを実行したいと思います。このクエリでは、単一のテキスト入力を受け入れ、firstNameフィールドとlastNameフィールドの両方で結果を確認したいと思います。マングースのドキュメントの正規表現関数を使用して単一のフィールドを正常にクエリできますが、「または」句の構文で問題が発生します。

var re = new RegExp(req.params.search, 'i');

app.User.find().or([{ 'firstName': { $regex: re }}, { 'lastName': { $regex: re }}]).sort('title', 1).exec(function(err, users) {
    res.json(JSON.stringify(users));
});

(node.js0.6.12でmongoose2.7.1を実行しています)

4

1 に答える 1

16

上記のコードは、複数のフィールドに対するクエリに対して正常に機能します。悪いデータがあったことがわかりました。

于 2012-07-30T16:55:18.017 に答える