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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值