本文整理汇总了C#中IMongoQuery.And方法的典型用法代码示例。如果您正苦于以下问题:C# IMongoQuery.And方法的具体用法?C# IMongoQuery.And怎么用?C# IMongoQuery.And使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IMongoQuery
的用法示例。
在下文中一共展示了IMongoQuery.And方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Random
public static List<供应商> 抽选供应商(int count, IMongoQuery conditions, IEnumerable<long> selected, IEnumerable<long> avoid)
{
var ret = new List<供应商>(count);
var rnd = new Random();
conditions = conditions.And(Query<供应商>.EQ(o => o.审核数据.审核状态, 审核状态.审核通过));
if (null != selected && 0 != selected.Count())
{
var q = Query.NotIn("_id", new BsonArray(selected));
conditions = Query.And(conditions, q);
}
if (null != avoid && 0 != avoid.Count())
{
var q = Query.NotIn("_id", new BsonArray(avoid));
conditions = Query.And(conditions, q);
}
int total = (int)Mongo.计数<供应商>(0, 0, conditions);
if (total < count) return new List<供应商>();
var r = Mongo.查询<供应商>(0, 0, conditions);
var ns = new HashSet<int>();
for (int i = 0; i < count; i++)
{
int n;
do
{
n = rnd.Next(total);
} while (ns.Contains(n));
ret.Add(r.ElementAt(n));
ns.Add(n);
}
return ret;
}