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,稀疏矩阵可以显著节省空间。

猜你喜欢

转载自blog.csdn.net/u010099177/article/details/85060256
今日推荐