我有这些收藏:
1 - 订单:
{
"_id" : ObjectId("5ac68963b305462bc88150f6"),
"ClientId" : "5aabc24bb3054633a4053a9f"
}
2 - 客户:
{
"_id" : ObjectId("5aabc24bb3054633a4053a9f"),
"Name" : "Tiago",
"Email" : "tiago@email.com",
}
我想从客户端引入订单,数据 . 但是因为ClientId是一个字符串而Client中的_id是一个ObjectId,所以我不能在那之间进行查找 .
我正在使用MongoDB C#Driver,这是我的代码,直到现在:
var order = _database.GetCollection<Order>.Aggregate().Match(myFilter).Lookup("Client", "ClientId", "_id", "MyPropertyToFill").As<Order>().FirstOrDefault();
有关如何做到这一点的任何想法?
1 回答
在您的模型中,您必须将iClientId定义为ObjectId,如下所示:
现在在您要执行查找的文件中
这是如何实现这一点的,我用猫鼬做到了,但你也可以做到没有猫鼬 .