MongoDB 动态字段设计
《MongoDB 动态字段设计》要点: 《MongoDB 动态字段设计》是否对您有启发,欢迎查看更多与《MongoDB 动态字段设计》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。 适宜读者人群
基础需求
技术目标version 1
首先讲一讲MongoDB支持的索引有哪几种 普通字段索引 // 假如我们的文档长这样 内嵌文档索引 // 假如我们的文档长成了Object 数组文档索引 // 假如我们的文档长成了数组
再重新审视需求
技术目标version2
解决方案
存储结构如下: //描述collection
如何查询排序筛选呢 // 比如用户增加了2个字段// 现在要对字段1进行排序db.items.find().sort({"form.0.value":1})// 对字段2进行筛选db.items.find({"form.1.value":"我的好伙伴"})
继续深入
那么这样的数据应该如何存储呢? 解决方案如下: 我们的value按照1,2,4,8...的二进制方式进行存储 如 用户选择单选框第一项,则存1,第二项则存2,第三项则存4 用户选择多选框第一项+第三项:则存5,(1+4) MongoDB为我们提供了强大的Aggregate功能,其中包含了Bitwise Query Operators 功能,包含$bitsAllSet,$bitsAnySet,$bitsAllClear,$bitsAnyClear db.items.aggregate([
总结
原文作者:RavenZZ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |