1
我使用流利的mongo。Mongo查詢獲取兒童
我有一個實體
public class SomeList
{
public List<ItemLike> Likes { get; set; }
public List<ItemComment> Comments { get; set; }
public List<ListItem> ListItems { get; set; }
}
的列表項是另一個實體
public class ListItem
{
pub string ListItemId { get; set; }
public List<ItemComment> CommentsList { get; set; }
public List<Photo> ItemPhotos { get; set; }
}
所以主要實體SomeList有清單,並列表項具有列表的實體。
我想要一個mongo查詢來從ListItem中獲取List。
我使用的是下面的查詢
var myCollection = GetMongoDatabase().GetCollection<SomeList>("SomeLists");
var list = myCollection.Find(Query.EQ("ListItems.ListItemId", listItemId)).SetFields(Fields.Slice("ListItems.LikesList", 0)).SingleOrDefault();
ListItem listItem = list.ListItems.Where(x => x.ListItemId == listItemId).SingleOrDefault();
items = listItem.CommentsList;
當我做Query.EQ(「ListItems.ListItemId」,listItemId),它給出了主要SomeList實體。 我再次應用下一行中的where子句。我不想要的。
即使它然後它給主要實體。 – 2012-02-29 18:32:22
如果您移除切片,返回什麼? 'var list = myCollection.Find(Query.EQ(「ListItems.ListItemId」,listItemId));' 你回來了什麼 - 這個查詢是否按預期工作? – Gregor 2012-03-01 10:21:49