2011-09-26 74 views
1

獲取命中行讓我們說我們有下一個JSON結構:MongoDB中

{ 
    { 
     name:"FirstComponent", 
     items:[ 
     { 
      Caption:"Item1", 
      Value:"1" 
     }, 
     { 
      Caption:"Item2", 
      Value:"3" 
     }, 
     { 
      Caption:"Item3", 
      Value:"2" 
     } 
     ] 
    } 
} 

讓我們說,我們查詢的項目值爲「2」。 {"items.Value":"2"},我們會把整個文檔拿回來。我想要的是它所觸及的子文檔的索引,從我的場景中看起來會很好。

有沒有一種方法可以獲得關於哪些是搜索到的第一個文檔的指示?

回答

1

不,這是沒有意義的:它將索引存儲在它返回給您的文檔中的位置?

您需要在C#中再次掃描數組以找到索引,如果您真的需要它。

+0

這是我的想法,但它無論如何再次掃興。它可以在像「show index」這樣的專門命令上返回索引,這可以作爲「explain」的類比來實現。 –

+0

但是第二個'掃描'是在C#代碼中的一個小內存數據結構,因此它在幾微秒。 –

+0

是的,它的時間消耗很少,但我覺得這會讓代碼變得更加醜陋,團隊中的其他開發人員也不會意識到。它更像是一個補丁 –