C# で Linq を使用して、MongoDB からランダムにレコードを取得したいと考えています。これが私がやっていることです。
public string RandomWord()
{
using (Mongo mongo = new Mongo(_mongoConfig.BuildConfiguration()))
{
try
{
mongo.Connect();
var db = mongo.GetDatabase(_dbName);
IMongoCollection<dic_words> collection = db.GetCollection<dic_words>();
return
(from w in collection.Linq()
where w.word.Length > 2
orderby Guid.NewGuid()
select w).Take(1).FirstOrDefault().word;
}
catch (Exception)
{
throw;
}
}
}
そして、ここに私が得たエラーがあります
クエリが複雑すぎて MongoDB で処理できません。map-reduce クエリを手動で作成するか、クエリを単純化して Linq-to-Objects を使用してみてください。
前もって感謝します。