0
數據樣本
{
"Subject": "New thread"
"Messages": [
{
"DateSent": "Mon, 16 May 2011 14:34:17 GMT -04:00",
},
{
"DateSent": "Mon, 16 May 2011 14:59:57 GMT -04:00",
}
],
"Participants": [
{
"UserId": 2,
"LastReadMessageIndex": 0,
},
{
"UserId": 1,
"LastReadMessageIndex": 1
}
],
}
線程包含郵件列表和與會者名單時訪問列表的父。當參與者查看線程時,LastReadMessageIndex會更新爲消息的長度。
我想檢索給定參與者有未讀消息的線程數。我可以用我喜歡這個參與者的名單內$,此時操作:
db.MessageThreads.find({Participants: {$elemMatch: { UserId: 2, $where: {this.LastReadMessageIndex) < this.**parent**.Messages.length}}} }).count();
是否有可能訪問父對象?
謝謝。你是對的,改變結構是有道理的,而且更清潔。 – Dan 2011-05-17 14:18:14