【问题标题】:Merge two collections in mongodb using c#使用 c# 在 mongodb 中合并两个集合
【发布时间】:2012-01-18 05:25:43
【问题描述】:

我在 mongodb 中有两个集合。我正在从两个独立工作的 gud 集合中检索数据。但是当我使用 skip 和 take 方法实现分页时,我正在从这两个集合中获取数据

paging = new Pagination() { CurrentPage = pageNumber, ItemsPerPage = 16 };
var results = dataTable.FindAs<TradeInfo(queryAll).Skip(paging.Skip).Take(paging.Take).ToList<TradeInfo>();
paging.TotalCount = Convert.ToInt32(dataTable.Find(query).Count());
var results2 = new List<TradeInfo>();
if (dataTable2 != null)
{
    results2 = dataTable2.FindAs<TradeInfo(queryAll).Skip(paging.Skip).Take(paging.Take).ToList<TradeInfo>();
    int count = Convert.ToInt32(dataTable2.Find(query).Count());
    paging.TotalCount = paging.TotalCount + count;
    results.AddRange(results2);
 }

我将结果作为 Itemssource 提供给 Datagrid,每页总共获得 32 个项目。 Mongodb中是否有任何连接概念,我该怎么做。两个集合列是相同的。 我该怎么做? 请帮我这样做....

谢谢, 一月

【问题讨论】:

  • 这个问题的答案:stackoverflow.com/questions/2350495/…有帮助吗?
  • 没有在两个集合中我有相同的列名但不同的数据它的一些东西像连接两个字符串作为连接两个集合

标签: mongodb mongodb-.net-driver


【解决方案1】:

我相信你在这里寻找的是一个联合而不是一个加入。

不幸的是,MongoDB 中没有这样的概念。如果您的分页依赖于查询(在这种情况下似乎可能是这样),那么您唯一真正的选择是创建和维护一个合并的集合,每次将文档添加或保存到这两个集合中的任何一个时都会更新该集合。然后,您可以在对单个集合应用查询后跳过并处理它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 2020-12-12
    • 2017-07-13
    • 1970-01-01
    相关资源
    最近更新 更多