例として、任意の実行時に、
Books = {
CatSelect : ["SciFi", "Humor", "History"],
MinPages : [300,50,500]
};
以下の関数で手動でクエリを作成するfind
と、意図したとおりに機能し、指定されたカテゴリで指定された量よりも多いページ数の本が見つかります。
MyCollection.find({ $or: [ { Category: Books.CatSelect[0], Pages : { $gte: Books.MinPages[0] } }, { Category: Books.CatSelect[1], Pages : { $gte: Books.MinPages[1] } } ] }).execFind(function(err,result){
...
}
しかし、問題は、選択されるカテゴリの数がわからないことです。上記の例は.find
、2つのカテゴリの設定例です。
.find
さまざまな数の基準を動的に関数に入れる方法は?
当然、すべての基準を文字列に入れることができますが、クエリは文字列でもJSONでもないので、ちょっと迷っています。