1. 程式人生 > >MongoDB部分知識總結

MongoDB部分知識總結

查詢陣列中包含某元素的文件

例如在以下groups資料中查詢events包含"a"的document:

{
    "events": [
        "12", "132", "14"
    ]
}
{
    "events": [
        "a", "b", "c"
    ]
}

程式碼

db.groups.aggregate([{$unwind:"$events"},{$match:{"events":{$eq:"a"}}}]).pretty()

本操作涉及到了Mongo的聚合管道。

unwind首先將文件中陣列型別的欄位拆分成多條,每條文件包含陣列中的一個值。

例子: 第一個文件會生成如下三個文件

{"events":"12"}

{"events":"132"}

{"events":"14"}

參考資料:MongoDB基礎教程系列--第七篇 MongoDB 聚合管道 - 二月羊 - 部落格園

索引 - 稀疏(Sparse)索引

稀疏索引不對不含此key的document建索引。對於只存在於部分document的key,稀疏矩陣可以顯著節省空間。