2017-11-16 1 views
0

で(mongooseJSを使用して)MongoDBの中で検索、私はスキーマは、たとえば、いくつかの基準

let UserSchema = new Schema({ 

username: { type: String, required: true, unique: true }, 
name: { type: String, required: true }, 
surname: { type: String, required: true }, 
.... 
.... 

を持っていると同時に名、ユーザ名、姓でユーザーを検索することが可能ですか?つまり、「Paul」と入力すると、ユーザー名が「Paul」、名前が「Paul」、姓が<で「Paul」が含まれているユーザーを含む一連のユーザーが表示されます。

Mongooseでのクエリを使用してこれを行う方法(このような検索の仕組みはどのように見えますか)注意してください。

答えて

0

Mongooseクエリの基本的な構文はうまくdocumentedです。

また、検索条件に任意の数のフィールドを使用できます。フィルタを組み合わせるにはlogical operatorsの束があります。また、大文字と小文字を区別しない「含む」クエリの場合は$regexのようにする必要があります。

var userName = "Paul"; 
var User = mongoose.model('User', UserSchema); 
User.find({ 
    $or: 
    [ 
     { "username": { $regex: userName, $options: 'i' } }, 
     { "name": { $regex: userName, $options: 'i' } }, 
     { "surname": { $regex: userName, $options: 'i' } } 
    ] 
}, 
function (err, docs) { 
    /* do something with your results */ 
}); 
+0

これは本当に基本的なことです。 ;)最初にいくつかのチュートリアルとドキュメンテーションを通して自分自身を働かせてみてください! – dnickless

関連する問題