我是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;
}
这里我想只匹配用户ID ... 在mongodb中它可以写成
db.Ticket.find({User: "-----"})
像这样......
但我想像这样检查多个字段。
db.Ticket.find({User: "-----", Status:"High"})
bt我在C#中无法转换它。如何使用Mongo C#驱动程序检查多个字段,如此查询。我搜查了但是我找不到这样的东西。
我使用linq完成了它,但我想知道如何使用Find()
。
答案 0 :(得分:2)
您可以使用LINQ到MongoDB:
var tickets = from t in DbCollection.AsQueryable<Ticket>()
where t.User == userId && t.Status == "High"
select t;
如果您想使用MongoQuery语法,只需将所有子查询传递给和查询:
var query = Query.And(Query<Ticket>.EQ(t => t.User, userId),
Query<Ticket>.EQ(t => t.Status, "High"));
var tickets = DbCollection.Find(query);