天天看點

【MongoDB學習筆記18】MongoDB的查詢:find查詢内嵌文檔

查詢内嵌文檔和查詢普通文檔完全相同;

例如:

1

2

3

4

5

6

<code>&gt; db.post.</code><code>find</code><code>()   </code>

<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"54ace1394ba07ed75df68f90"</code><code>), </code><code>"name"</code> <code>: { </code><code>"firstname"</code> <code>: </code><code>"joe"</code><code>, </code><code>"lastname"</code> <code>: </code><code>"schome"</code> <code>}, </code><code>"age"</code> <code>: 28 }    </code>

<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"54ace14a4ba07ed75df68f91"</code><code>), </code><code>"name"</code> <code>: { </code><code>"firstname"</code> <code>: </code><code>"snail"</code><code>, </code><code>"lastname"</code> <code>: </code><code>"yu"</code> <code>}, </code><code>"age"</code> <code>: 29 }    </code>

<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"54ace18d4ba07ed75df68f92"</code><code>), </code><code>"name"</code> <code>: { </code><code>"firstname"</code> <code>: </code><code>"sunny"</code><code>, </code><code>"lastname"</code> <code>: </code><code>"wu"</code> <code>}, </code><code>"age"</code> <code>: 26 }</code>

<code>&gt; db.post.</code><code>find</code><code>({</code><code>"name"</code><code>:{</code><code>"firstname"</code><code>:</code><code>"joe"</code><code>,</code><code>"lastname"</code><code>:</code><code>"schome"</code><code>}})   </code>

<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"54ace1394ba07ed75df68f90"</code><code>), </code><code>"name"</code> <code>: { </code><code>"firstname"</code> <code>: </code><code>"joe"</code><code>, </code><code>"lastname"</code> <code>: </code><code>"schome"</code> <code>}, </code><code>"age"</code> <code>: 28 }    &gt;</code>

查詢内嵌文檔必須精确比對,如果順序錯了也是查詢不到的;

我們可以改成”.”的模式來查詢内嵌的文檔,這樣無需精确比對,也無關順序;

<code>&gt; db.post.</code><code>find</code><code>({</code><code>"name.firstname"</code><code>:</code><code>"joe"</code><code>})   </code>

<code>&gt;</code>

本文轉自 bannerpei 51CTO部落格,原文連結:http://blog.51cto.com/281816327/1600247,如需轉載請自行聯系原作者