草庐IT

ACollection

全部标签

c# - Linq:Take的 "opposite"?

使用Linq;如何做Take的“反面”?即而不是获取前n个元素,例如inaCollection.Take(n)我想获取除最后n个元素以外的所有元素。有点像aCollection.Leave(n)(不要问为什么:-)编辑我想我可以这样做aCollection.TakeWhile((x,index)=>index或者以扩展的形式publicstaticIEnumerableLeave(thisIEnumerablesource,intn){returnsource.TakeWhile((x,index)=>index但在LinqtoSQL或NHibernateLinq的情况下,如果生成的S

带有 $sample 的 MongoDB 聚合非常慢

有很多方法可以从mongodb集合中选择随机文档(如讨论的inthisanswer)。评论指出,使用mongodb版本>=3.2然后使用$sample在聚合框架中是首选。但是,在包含许多小文档的集合上,这似乎非常慢。以下代码使用mongoengine模拟问题并将其与“跳过随机”方法进行比较:importtimeitfromrandomimportrandintimportmongoengineasmdbmdb.connect("test-agg")classACollection(mdb.Document):name=mdb.StringField(unique=True)meta={