[英]Getting a specific item from a list in BsonDocument
我正在嘗試使用 BsonDocument 中的Where()
從列表中獲取項目以形成查詢。 Participants 是一個List<User>
我想從中獲得特定參與者的地方。 Components
是List<BsonDocument>
,這使得使用["key"]
進行索引成為可能,因為 object 上的屬性尚不清楚。
var rec = (await _context.Records
.Where(r =>
r.Components.Any(c =>
c["StartTime"] == record.StartTime &&
c["Participants.Number"] == record.Organizer.Number))
.GetAsync())
.LastOrDefault();
["Participants.Number"]
適用於列表,但我只想檢查列表中的特定(第二個)參與者,我嘗試了以下操作:
p["Participants[1].Number"]
p["Participants"][1]["Number"]
我還嘗試首先轉換為BsonArray
和其他LINQ
功能,但沒有成功找到解決方案。
問題是查詢沒有在您的代碼中運行,它被傳遞到底層數據庫,與 c# 不同,mongo 不使用方括號表示法進行數組索引,它使用與 object 表示法相同的索引,因此您需要.1
而不是[1]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.