Linq至MongoDB筛选器 [英] Linq to MongoDB Filter
本文介绍了Linq至MongoDB筛选器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个MongoDB集合,如下所列:
I have a MongoDB collection, listed below:
{
"_id" : ObjectId("001"),
"ticker" : "MSFT=US",
"exchange" : "OTC",
"localtick" : "MSFT",
"compname" : "Microsoft",
"currency" : "USD",
"insertedtime" : ISODate("2016-06-13T23:10:09.341+0000")
}
{
"_id" : ObjectId("002"),
"ticker" : "TSLA=CA",
"exchange" : "TSX",
"localtick" : "TSLA", ,
"compname" : "Tesla",
"currency" : "CAD",
"insertedtime" : ISODate("2016-06-13T23:10:09.809+0000")
}
但是当我尝试在查询中进行过滤时:
But when I try to do a filter in my query:
var documents = collection.AsQueryable()
.Where(c => c["ticker"].ToString().Contains("=CA"));
我收到以下错误:
Unsupported filter: {document}{ticker}.ToString().Contains("=CA").
我应该怎么做才能使MongoDB与LINQ握手?
What should I be doing to get MongoDB to handshake with LINQ?
推荐答案
在使用LINQ查询时,请使用强类型的集合:
Use a strongly-typed collection when using LINQ queries:
public class Test
{
public ObjectId _id;
public string ticker;
public string exchange;
public string localtick;
public string compname;
public string currency;
public DateTime insertedtime;
}
var query = db.GetCollection<Test>("test")
.AsQueryable()
.Where(c => c.ticker.Contains("=CA"));
这篇关于Linq至MongoDB筛选器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文