mongodb 查询求助,嵌套数组里面查东西
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb 查询求助,嵌套数组里面查东西相关的知识,希望对你有一定的参考价值。
直接在程序里把不匹配的数组元素滤掉最简单了。会作为个体被查询的数据最好不要放在数组里面,mongodb的查询对数组元素是比较弱的,以前(2.2或者2.4以前)没有$elemMatch操作符,连查询一个特定元素符合两个条件都做不到,只能查询数组里面存在符合这两个条件的元素。举例来说就是既可能命中array:[a:1,b:1]也可能命中array:[a:1,b:1]。因此我认为把商品单列出来会比较合适。 参考技术A 提取子数组就行了
Mongodb嵌套文档的修改-利用数组修改器更新数据
初学mongodb的可能和我一样有个疑问,mongodb是文档型的,那么如果一个文档嵌套另外一个文档,如果对这个嵌套文档进行增删改查呢。
就像如下这样:,如何对auther里面的name进行增删改查呢?这篇博客我们一起来看一下。
这里要用到几个修改器:$push,$pop,$pull
- 首先增加一个name:
db.myFirstCollection.update({_id:1},{$push:{"auther":{"name":1}}})
- 删除最后一个值,若要删除第一个值则为-1
db.myFirstCollection.update({_id:1},{$pop:{"auther":1}})
- 删除指定值
db.myFirstCollection.update({_id:1},{$pull:{"auther":{"name":1}}})
- 如果要给auther中第一个值加一个age字段
db.myFirstCollection.update({"_id" :1},{$set:{"auther.0.age":22}})
以上是关于mongodb 查询求助,嵌套数组里面查东西的主要内容,如果未能解决你的问题,请参考以下文章