json格式就贴图如上了,现在我想查出所有hobbyName是电影的人员的信息(返回的应该是个包含name,sex,hobbies的集合);想通过下个语句查出所有hobbyName是音乐的人名的集合现在我的问题是如果嵌套多层数组的话db.getCollection('person').find({"excelID":"10001","sheetArrays.studentInfos.hobbies.hobbyName":"电影"},{"sheetArrays.studentInfos.$":1})这条查询只能过滤掉第一层数组,也就是说我智能知道hobbyName为电影的人员来自于一班,但我不知道具体是哪位同学,希望有人能帮我答疑解惑,感激不尽!
第1个回答 2016-08-24
感觉你设计的数据结构太复杂,内嵌文档太多层了,为什么不一个学生一条记录呢,这样设计部是更简洁吗,查询统计什么的都很简单,你现在的文档一次查询是得不到你想要的结构的,只能用聚合看能不能实现。本回答被提问者和网友采纳