zoukankan      html  css  js  c++  java
  • mongodb查询嵌入式文档

    db.getCollection("mobiles").ensureIndex({
        "params.name": 1,
        "params.value": 1
    });

    db.getCollection("mobiles").insert({
        "_id": 1, www.jokedu.com 
        "name": "ME525",
        "brand": "摩托罗拉",
        "params": [
            {"name": "待机时间", "value": 200},
            {"name": "外观设计", "value": "直板"}
        ]
    });

    db.getCollection("mobiles").insert({
        "_id": 2,
        "name": "E7",
        "brand": "诺基亚",
        "params": [ www.yzjxsp.com 
            {"name": "待机时间", "value": 500},
            {"name": "外观设计", "value": "滑盖"}
        ]
    });
      

    如果想查询待机时间大于100小时,并且外观设计是直板的手机,需要按照如下方式查询:

    db.getCollection("mobiles").find({
        "params": {
            $all: [
                {$elemMatch: {"name": "待机时间", "value": {$gt: 100}}},
                {$elemMatch: {"name": "外观设计", "value": "直板"}}
            ]
        }
    });
      

    注:查询中用到的$all$elemMatch等高级用法的详细介绍请参考官方文档中相关说明。

  • 相关阅读:
    Redis主从复制
    Redis发布订阅
    Redis持久化
    初探redis.config
    java连接Linux服务器问题
    Redis常见类型及API
    Redis安装
    Nosql
    JMM
    SpringSecurity
  • 原文地址:https://www.cnblogs.com/descusr/p/3042644.html
Copyright © 2011-2022 走看看