2011-09-26 60 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

是的,它的时间消耗很少,但我觉得这会让代码变得更加丑陋,团队中的其他开发人员也不会意识到。它更像是一个补丁 –