我想知道如果有只返回一个方式_id,user_id并total没有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) 我想让我的主/从流复制设置成为没有复制和 HA 的单个主从设置。
怎么可能告诉 master 它不再有 slave 并且它不应该将它的数据复制到 slave。当然,它也不应该像从站暂时关闭时那样将 WAL 发送到从站。
如果"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) 我有一个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)
但是,如果我需要留在旧结构
oid从阵列中获取特定的最快方法是什么?
什么是得到一个表的3列最快的方式oid,instance和value.或者更好的是使用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)