私は流暢なモンゴを使用しています。
私はエンティティを持っています
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 があります。
ListItem からリストを取得する mongo クエリが必要です。
次のクエリを使用しています
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 句を再度適用しています。私はしたくない。