zoukankan      html  css  js  c++  java
  • mongodb "$"的作用

    {
        "_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中指定的某条了

    
    
  • 相关阅读:
    微人事项目-mybatis-持久层
    通过外键连接多个表
    springioc
    Redis 消息中间件 ServiceStack.Redis 轻量级
    深度数据对接 链接服务器 数据传输
    sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取
    sqlserver 索引优化 CPU占用过高 执行分析 服务器检查
    sql server 远程备份 bak 删除
    冒泡排序
    多线程 异步 beginInvoke EndInvoke 使用
  • 原文地址:https://www.cnblogs.com/akaneblog/p/6888508.html
Copyright © 2011-2022 走看看