我使用蒙戈DB C#驱动程序2, 我试图加入收藏2通过ID(多对多)Mongo db c#驱动程序 - 如何通过ID在集合中加入?
Class A
{
public string id;
public string name;
public list<string> classBReferenceid; // <--- I want use this as the "keys" for the join
public list<B> myBs;
}
Class B
{
public string id; // <--- I use this as the "key" for the join
public string name;
}
在我的DB类“A”被保存无数据“myBs”,我想在一次通话中将它从mongo中拉出来。
我尝试使用查找功能:
IMongoCollection<A> mongoACollection = // already set in driver....
IMongoCollection<B> mongoBCollection = // already set in driver....
IAggregateFluent<A> results = _mongoACollection.Aggregate().
Lookup<A, B, A>(
mongoBCollection,
a => a.classBReferenceid,
b => b.Id,
a => a.myBs);
但它不工作(不加入任何东西),可能是因为“classBReference”是一个列表,而不是一个“id”。
我怎样才能使用查找到加入一个集合的ID出现在另一个集合中的ID列表?
什么是你的mongo服务器版本?这将启动3.3.4 mongo版本。更多细节请看https://jira.mongodb.org/browse/SERVER-22881 – Veeram
谢谢,我刚刚看到一个关于这个功能的类似线程, 我用了3.4 ..但是我的内嵌Mongo是3.2 –