使用 C# 和 mongo 我正在检查一些不同的查询方式。目前我有一系列旅行,每次旅行都有一系列费用。每个费用都有自己的 objectId。
首先,我有这个查询来定位要更新的特定查询。诀窍是第二部分,我在费用的 ID 中添加了自己的方式。
var Update = Query.And(
Query<Trip>.EQ(t => t.Id, ObjectId.Parse(tripId)),
Query<Expense>.EQ( "Expenses._id", ObjectId.Parse(id)));
当我在这里打错字并将其命名为 Expenses._Id 时,我正在寻找一种摆脱“松散字符串”的方法。
我试过这个
var tripToUpdate = Query.And(
Query<Trip>.EQ(t => t.Id, ObjectId.Parse(tripId)),
Query<Expense>.EQ(e => e.Id, ObjectId.Parse(id)));
但它被翻译成
{ "$and" : [{ "_id" : ObjectId("5224f0208c74943810d333f6") },
{ "_id" : ObjectId("5224f0488c74943810d333f7") }] }
而不是预期的Expense._id
。我想我需要某种约定才能得到支持。
是否有可能以一种更强类型的方式编写它,而不仅仅是查询?
对于查询,我已经在使用 std C# 提供程序。