【发布时间】:2013-12-30 21:45:09
【问题描述】:
是否可以跨 2 个不同的集合进行搜索。例如:
记录集合
[{
id: "1",
name: "Henry"
Values: [ "124", "243" ]
}]
值集合
[{
id: "124",
Value: "Fox"
} ... ]
所以诸如“fox”之类的搜索查询会拉回“Henry”记录。
我知道你可以这样做:
var textSearchCommand = new CommandDocument
{
{ "text", records.Collection.Name },
{ "search", "fox" }
};
var commandResult = records.Collection.Database.RunCommand(textSearchCommand);
var response = commandResult.Response;
但这不会产生任何结果,因为记录集合不包含“狐狸”。
【问题讨论】:
-
搜索两个集合的唯一方法是通过应用程序中的两个单独查询。
-
或者,将您的文档存储在一个集合中。如果需要“键入”文档,请为类型映射包含一个简单字段并为其编制索引(如果需要,再次进行索引)。
标签: c# .net mongodb mongodb-.net-driver