3
我有一個MongoDB的用戶以下集合:蒙戈:從放置在一個對象數組選擇X元素
{
"_id" : 1,
"facebook_id" : XX,
"name": "John Doe",
"points_snapshot" : [{
"unix_timestamp" : 1312300552,
"points" : 115
}, {
"unix_timestamp" : 1312330380,
"points" : 110
}, {
"unix_timestamp" : 1312331610,
"points" : 115
}]
}
是否可以寫一個查詢它通過讓我得到了用戶的ID 1以及特定日期之後的快照。例如:1312330300?
基本上將快照限制爲符合某些標準的X數字?
到目前爲止,我已經嘗試在C#:
Query.And(
Query.EQ("facebook_id", XX),
Query.GTE("points_snapshot.unix_timestamp", sinceDateTimeStamp)))
.SetFields("daily_points_snapshot", "facebook_id")
我很快意識到不會爲我想要的工作。
任何幫助將不勝感激! 謝謝!
編輯:我解決這個
如果有人希望得到快速解決這一點,這是我落得這樣做:
var points = MyDatabase[COLLECTION_NAME]
.Find(Query.EQ("facebook_id", XX))
.SetFields("points_snapshot", "facebook_id")
.FirstOrDefault();
if (points != null) {
var pointsArray = points.AsBsonDocument["points_snapshot"].AsBsonArray
.Where(x => x.AsBsonDocument["unix_timestamp"].AsInt32 > sinceDateTimeStamp)
.ToList();
return pointsArray;
}
哇!感謝那個超級快速的回答!對我的架構來說不是至關重要的,所以我最終修改了一些代碼。會把它放在那裏。再次感謝! :) – saurabhj