【发布时间】:2012-03-14 15:03:00
【问题描述】:
在我们的 Mongo 数据库中,我们有一个由“StoreId”和“ItemId”索引的集合。以下查询带回“In”列表中包含的所有产品商店组合(共 9 个文档)。
var productQuery = Query.In("ItemId", new BsonArray(new List<int> {1, 2, 3}));
var storeQuery = Query.In("StoreId", new BsonArray(new List<int> {1, 2, 3}));
var queryToBringNineDocuments = Query.And(productQuery, storeQuery);
我如何编写一个查询,让我返回带有以下项目存储元组列表中的键的文档?
var neededProductStores = new List<Tuple<int, int>>
{
new Tuple<int, int>(1, 2),
new Tuple<int, int>(1, 3),
new Tuple<int, int>(2, 1),
new Tuple<int, int>(3, 2)
};
var queryToBringFourDocuments = ?;
【问题讨论】:
-
您能在这里澄清一下,是 4 个文档还是一个包含 4 个项目数组的文档? MongoDB 只能返回文档,不能返回“子文档”。
-
我有 9 个单独的文档,用于 item-store 的每个组合。我需要获取这些文件的一个子集。我可以在多个查询中执行此操作,但想知道是否有一种方法可以使用单个查询。
标签: c# mongodb mongodb-.net-driver