Mongodb循环查询.NET MVC匹配
我得到Mongodb循环查询.NET MVC匹配,mongodb,mongodb-query,Mongodb,Mongodb Query,我得到结果列表值,我想循环查询。匹配以获得更多匹配 string fruitlist = "orange,apple,berry"; IMongoQuery query = Query.And( Query.GTE("memberinfo.height", 170), Query.LTE("memberinfo.height",179), Query.GTE("memberin
结果列表
值,我想循环查询。匹配
以获得更多匹配
string fruitlist = "orange,apple,berry";
IMongoQuery query = Query.And(
Query.GTE("memberinfo.height", 170),
Query.LTE("memberinfo.height",179),
Query.GTE("memberinfo.weight",50),
Query.LTE("memberinfo.weight",59),
Query.Matches("memberinfo.fruits.name","orange")
);
MongoCursor mongocursor = nsdb.GetCollection("XXDB", "Member").Find(query).SetSortOrder(SortBy.Descending("memberinfo.createtimestamp"));
Exmaple集合结构
{
"_id" : "123",
"name" : "John",
"height": 170,
"weight": 55,
"memberinfo" : {
"fruits" : [ {"name" : "apple","reason" : null },
{"name" : "orange","reason" : null},
{"name" : "berry","reason" : null}
],
}
},
{
"_id" : "456",
"name" : "Cena",
"height" : 160,
"weight": 90,
"memberinfo" : {
"fruits" : [ {"name" : "berry","reason" : null},
{"name" : "orange","reason" : null}
],
}
}
有什么建议吗
谢谢终于有了解决方案=)
string fruitlist=“橙色、苹果、浆果”;
string[]cat_sel=foultlist.Split(',');
var和List=新列表();
foreach(类别选择中的var属性)
{
Add(Query.Matches(“memberinfo.fruits.name”,属性));
}
IMongoQuery=query.And(
Query.GTE(“memberinfo.height”,170),
Query.LTE(“memberinfo.height”,179),
Query.GTE(“memberinfo.weight”,50),
Query.LTE(“memberinfo.weight”,59),
查询和(andList)
);
MongoCursor MongoCursor=nsdb.GetCollection(“XXDB”,“Member”).Find(query).SetSortOrder(SortBy.Descending(“memberinfo.createtimestamp”);
将您的收藏展示给我们well@ShumiGupta添加了示例集合structure@ShumiGupta你知道吗?你试过使用$in吗?@ShumiGupta在db中使用中的$in。找到对吗?但我还有其他疑问,比如GTE
和LTE
,有什么建议吗?
string fruitlist = "orange,apple,berry";
string[] cat_sel = fruitlist.Split(',');
var andList = new List<IMongoQuery>();
foreach (var attribute in cat_sel)
{
andList.Add(Query.Matches("memberinfo.fruits.name", attribute));
}
IMongoQuery query = Query.And(
Query.GTE("memberinfo.height", 170),
Query.LTE("memberinfo.height",179),
Query.GTE("memberinfo.weight",50),
Query.LTE("memberinfo.weight",59),
Query.And(andList)
);
MongoCursor mongocursor = nsdb.GetCollection("XXDB", "Member").Find(query).SetSortOrder(SortBy.Descending("memberinfo.createtimestamp"));