2017-03-28 5 views
0

catlist paramはsinging,dancing方法はありませんオーバーロード「ElemMatch 7つの」の引数を取り

string[] cat_sel = catlist.Split(','); 
var andList = new List<IMongoQuery>(); 
foreach (var attribute in cat_sel) 
{ 
    andList.Add(Query.Matches("talentinfo.type", attribute)); 
} 

IMongoQuery query = Query.And(
     Query.EQ("enable", true), 
     Query.EQ("type", "member") 

); 
IMongoFields fields = Fields.Include("_id", "name", "thumbnail").ElemMatch("memberinfo", Query.And(
      Query.EQ("status", "approved")), 
      Query.GTE("height", 160), 
      Query.LTE("height", 170), 
      Query.GTE("weight", 55), 
      Query.LTE("weight", 65), 
      Query.And(Query.Or(andList)) 
      ); 
MongoCursor mongocursor = nsdb.GetCollection(DBPrefix, "Member").Find(query).SetFields(fields); 

である私は、エラーNo overload for method 'ElemMatch' takes 7 argumentsを持って、私はあまりにも多くの引数を取るが、私はそれらのQueryを維持しなければならない、私はQuery以上を適用することができますどのように意味ElemMtach

答えて

4

かっこが正しく閉じられていないように見えます。

これを試してください。

IMongoFields fields = Fields.Include("_id", "name", "thumbnail").ElemMatch("memberinfo", 
     Query.And(
      Query.EQ("status", "approved"), 
      Query.GTE("height", 160), 
      Query.LTE("height", 170), 
      Query.GTE("weight", 55), 
      Query.LTE("weight", 65), 
      Query.And(Query.Or(andList))) 
); 
+0

ああ、ありがとう。それは本当に悪い間違いです –

関連する問題