小编use*_*708的帖子

只返回一个属性"_id"

我想知道如果有只返回一个方式_id,user_idtotal没有items子文档.

{
    "_id" : 122,
    "user_id" : 123456,
    "total" : 100,
    "items" : [
            {
                    "item_name" : "my_item_one",
                    "price" : 20
            },
            {
                    "item_name" : "my_item_two",
                    "price" : 50
            },
            {
                    "item_name" : "my_item_three",
                    "price" : 30
            }
    ]
}
Run Code Online (Sandbox Code Playgroud)

mongodb

17
推荐指数
2
解决办法
2万
查看次数

停止流式复制

我想让我的主/从流复制设置成为没有复制和 HA 的单个主从设置。

怎么可能告诉 master 它不再有 slave 并且它不应该将它的数据复制到 slave。当然,它也不应该像从站暂时关闭时那样将 WAL 发送到从站。

postgresql

6
推荐指数
1
解决办法
6958
查看次数

多个更新子文档

如果"oid"和"instance"字段匹配,我想对子文档"value"字段执行多次更新.我一次可以做一个子文档,但有多种方法可以做到这一点

- 这适用于一个 -

db.myTable.update({ "data" : { "$elemMatch" : { "oid" : "1.3.6.1.4.1.111.3.10.2.5.35.3", 
                                                "instance" : "0" } }, 
                    "$atomic" : "true" },
                  { $set: { "data.$.value": "change good" }}, 
                  false, 
                  true);



  "_id" : 483,
  "data" : [{
      "oid" : "1.3.6.1.4.1.111.3.10.2.5.35.3",
      "instance" : "0",
      "value" : "0"
    }, {
      "oid" : "1.3.6.1.4.1.111.3.999.2.5.2",
      "instance" : "0",
      "value" : "aaa"
    }, {
      "oid" : "1.3.6.1.4.1.111.3.30.5.1.1",
      "instance" : "0",
      "value" : "BBB"
    }]}
Run Code Online (Sandbox Code Playgroud)

mongodb

5
推荐指数
1
解决办法
4778
查看次数

Postgres 9.4 jsonb数组作为表

我有一个json数组,其中包含大约1000个结构元素"oid:aaa,instance:bbb,value:ccc".

{"_id": 37637070
, "data": [{"oid": "11.5.15.1.4", "value": "1", "instance": "1.1.4"}
         , {"oid": "11.5.15.1.9", "value": "17", "instance": "1.1.4"}
         , {"oid": "12.5.15.1.5", "value": "0.0.0.0", "instance": "0"}]}
Run Code Online (Sandbox Code Playgroud)

oid并且instance每个json数组都是唯一的.如果我有权更改结构,我会将格式更改为key:value:

{"11.5.15.1.4-1.1.4":"1", "11.5.15.1.9-1.1.4": "17", "12.5.15.1.5-0": "0.0.0.0"}
Run Code Online (Sandbox Code Playgroud)

但是,如果我需要留在旧结构

  1. oid从阵列中获取特定的最快方法是什么?

  2. 什么是得到一个表的3列最快的方式oid,instancevalue.或者更好的是使用oid + instance作为列标题的数据透视表.

对于2.我尝试了以下内容,但在一张大桌子上它很慢:

select *
from (
   select a->>'oid' oid, a->>'instance' instance, a->>'value' value1, id
   from (
      select jsonb_array_elements(config#>'{data}')  a, id
      from configuration
      ) b
   ) c
where  oid = '1.3.6.1.4.1.7352.3.10.2.5.35.3' and instance = …
Run Code Online (Sandbox Code Playgroud)

sql postgresql indexing json jsonb

3
推荐指数
1
解决办法
1770
查看次数

标签 统计

mongodb ×2

postgresql ×2

indexing ×1

json ×1

jsonb ×1

sql ×1