复合查询在MongoDb c#驱动程序中查找文档
本文关键字:查找 文档 驱动程序 查询 MongoDb 复合 | 更新日期: 2023-09-27 18:09:39
我是MongoDB的新手。我尝试使用MongoDB c#驱动find()
方法,面临以下问题:
public IEnumerable<Ticket> GetTicketByUserId(string userId)
{
var query = Query<Ticket>.EQ(ticket => ticket.User, userId);
var tickets = DbCollection.Find(query);
return tickets;
}
这里我只想匹配userid…在mongodb中可以这样写
db.Ticket.find({User: "-----"})
像这样…
但是我想检查像这样的多个字段
db.Ticket.find({User: "-----", Status:"High"})
,但我没有在c#中转换它。如何检查多个字段,如使用Mongo c#驱动程序查询。我搜索了,但没有找到这样的东西。
我已经使用linq完成了它,但我想知道如何使用Find()
。
您可以使用LINQ到MongoDB:
var tickets = from t in DbCollection.AsQueryable<Ticket>()
where t.User == userId && t.Status == "High"
select t;
如果你想使用MongoQuery语法,那么只需将所有子查询传递给和 query:
var query = Query.And(Query<Ticket>.EQ(t => t.User, userId),
Query<Ticket>.EQ(t => t.Status, "High"));
var tickets = DbCollection.Find(query);