【发布时间】:2012-02-29 05:58:32
【问题描述】:
我正在使用流利的 mongo。
我有一个实体
public class SomeList
{
public List<ItemLike> Likes { get; set; }
public List<ItemComment> Comments { get; set; }
public List<ListItem> ListItems { get; set; }
}
ListItem 是另一个实体
public class ListItem
{
pub string ListItemId { get; set; }
public List<ItemComment> CommentsList { get; set; }
public List<Photo> ItemPhotos { get; set; }
}
所以主实体 SomeList 有 List,实体 ListItem 也有 List。
我想要一个 mongo 查询来从 ListItem 中获取列表。
我正在使用以下查询
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 子句。我不想要。
【问题讨论】:
标签: mongodb syntax fluent fluent-mongo