mongodb "$"的作用
2024-08-30 09:12:03
{
"_id": ObjectId("58e48e32830f398e8f401a95"),
"_class": "com.ydd.model.mongdb.WeiXinQuestion",
"openid": "oDVO_w2juwMejm7S-UxfLaSOC0kU21",
"createtime": NumberLong(1491373618008),
"endtime": NumberLong(0),
"antotal": NumberLong(2),
"content": "asdfasdfasdfasdfasdf",
"status": 0,
"isshow": 1,
"address": "",
"sex": 0,
"labels": "气血两虚",
"besttotal": 0,
"bestscore": 0,
"clerkAnswer": [
{
"_id": "p0k94bZ4EHV9XsftlMlOzHS8L",
"clerkId": 2159,
"headerimg": "head/2159/201612/1480922352820.jpeg",
"name": "药点点店长7",
"content": "高难度",
"createtime": NumberLong(1491373686025),
"adopt": 0,
"score": 0,
"zan": 0,
"ids": [ ],
"clerkAnswerScore": [ ],
"qid": "58e48e32830f398e8f401a95",
"status": 0,
"isReward": 0,
"replayAnswers": [ ]
},
{
"_id": "GkJtDMB7uizt699qFyEhAINZ0",
"clerkId": 2166,
"headerimg": "head/2166/201701/1484742330434.jpeg",
"name": "药点店员13",
"content": "但",
"createtime": NumberLong(1491373800122),
"adopt": 0,
"score": 0,
"zan": 0,
"ids": [ ],
"clerkAnswerScore": [ ],
"qid": "58e48e32830f398e8f401a95",
"status": 0,
"isReward": 0,
"replayAnswers": [ ]
},
{
"_id": ObjectId("58b5b0eead349879b2871348"),
"answerId": "L7izf6lVoyY9QyERd0m2",
"clerkId": 4625,
"headerimg": "/resource/2016/8/26/c160c426-a.jpeg",
"name": "林建丽",
"content": "合生元益生菌",
"createtime": NumberLong(1488302318220),
"adopt": 0,
"score": 0,
"zan": 0,
"ids": [ ],
"clerkAnswerScore": [ ],
"qid": "58e48e32830f398e8f401a95",
"status": 0,
"isReward": 0,
"replayAnswers": [ ]
}
]
}
当要只查询clerkAnswer这个数组中的某条数据时可以这样查find({"clerkAnswer._id":"GkJtDMB7uizt699qFyEhAINZ0"},{"clerkAnswer.$":{$slice:1}}) ,如果你在<查询条件>中查询的内容是array里的内容,用$就能引用前查询中匹配到的元素。所以不需要遍历就能直接取到数组中的某一个对象。如果把clerkAnswer.$改为clerkAnswer,查询到的就是三条记录中的第一条了,而不是前边指定的那条,当然如果你前边的查询条件没有具体包含到数组里的数据比如你是这样查的 find({"_id":ObjectId("58e48e32830f398e8f401a95")},{"clerkAnswer.$":{$slice:1}})这样就查不到clerkAnswer中指定的某条了
最新文章
- 较为完整的meta
- java中的集合/容器的数据结构
- nodejs与模块soap的用法
- OpenCV中的矩阵操作
- 8.openssl req
- Windows Azure HandBook (4) 分析Windows Azure如何处理Session
- Swift3.0语言教程获取字符串长度
- WPF [调用线程无法访问此对象,因为另一个线程拥有该对象。] 解决方案以及如何实现字体颜色的渐变
- arcgis union 0x80040218
- mysql 导入大sql文件时 max_allowed_packet 选项的设置
- List of XML and HTML character entity references
- Oracle EBS-SQL (WIP-14):检查车间需求与BOM差异对照.sql
- Linux shell中的I/O重定向相关(转)
- 例如找出令人信服的权威C++中间malloc与new
- javascript location对象
- 从CMOS到触发器(二)
- 通过正则表达式提取excel特定列中含有关键字的所有行数据
- JSON 数据操作
- list的基本操作实现
- mysql数据库设计三范式
热门文章
- Android通过JNI实现与C语言的串口通讯操作蓝牙硬件模块
- python--网络编程--主机命令执行
- IOS 汤姆猫核心代码
- C++算法之 一句话推断一个整数是不是2 的整数次方
- linux的DNS相关介绍(转载)
- linux中vi编辑器(转载)
- 《学习opencv》笔记——矩阵和图像操作——cvConvertScale,cvConvertScaleAbs,cvCopy and cvCountNonZero
- ffmpeg强制使用TCP方式推流到EasyDarwin开源流媒体服务器进行直播
- 从TFS中的现有项目复制一份作为新项目,导致提交的服务器无法加载
- C++正则表达式笔记之wregex