const _=db.command 等于拳击或大于6 db.collection('table').where(_.or([{tag:{type:'拳击'}},{tag:{point:_.gt(6)}}]).then() 与运算直接逗号分隔就成 db.collection('table').where({tag:{type:'拳击'},tag:{point:_.gt(6)}}).then() 还有你的现在的项目是从头开始写的吗?
请教如何在数据库查询时使用对象数组类型字段的值- 需求的场景描述(希望解决的问题) 例如下列数据: [代码][[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"_id": "1",[代码][代码] [代码][代码]"name": "张三",[代码][代码] [代码][代码]"tag": [[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"type": "射击",[代码][代码] [代码][代码]"point": 8[代码][代码] [代码][代码]},[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"type": "拳击",[代码][代码] [代码][代码]"point": 3[代码][代码] [代码][代码]}[代码][代码] [代码][代码]][代码][代码] [代码][代码]},[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"_id": "2",[代码][代码] [代码][代码]"name": "李四",[代码][代码] [代码][代码]"tag": [[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"type": "射击",[代码][代码] [代码][代码]"point": 6[代码][代码] [代码][代码]},[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"type": "大刀",[代码][代码] [代码][代码]"point": 5[代码][代码] [代码][代码]}[代码][代码] [代码][代码]][代码][代码] [代码][代码]},[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"_id": "3",[代码][代码] [代码][代码]"name": "王五",[代码][代码] [代码][代码]"tag": [[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"type": "拳击",[代码][代码] [代码][代码]"point": 7[代码][代码] [代码][代码]},[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"type": "射击",[代码][代码] [代码][代码]"point": 6[代码][代码] [代码][代码]},[代码][代码] [代码][代码]{[代码][代码] [代码][代码]"type": "大刀",[代码][代码] [代码][代码]"point": 9[代码][代码] [代码][代码]}[代码][代码] [代码][代码]][代码][代码] [代码][代码]}[代码][代码]][代码]现在需要列出 tag包含type=“拳击”的人 tag包含point>6的人 - 希望提供的能力 请帮忙给个查询条件的写法。 也许是我的数据储存格式设计有问题,以前没做过NoSql的内容,缺乏经验。有大神帮指点下就好了:)
2018-09-23