簡體   English   中英

從 BsonDocument 中的列表中獲取特定項目

[英]Getting a specific item from a list in BsonDocument

我正在嘗試使用 BsonDocument 中的Where()從列表中獲取項目以形成查詢。 Participants 是一個List<User>我想從中獲得特定參與者的地方。 ComponentsList<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM