在MongoDB中更改二进制子类型

时间:2016-01-08 07:25:21

标签: javascript mongodb binary subtype

是否可以仅更改MongoDB中二进制元素的子类型?
我在类型0x00的数据库中有二进制元素
BinData(0, xxx)
是否可以通过shell仅更新此元素的subType部分/将其更改为另一个值?

或唯一的方法是使用旧的二进制文件创建新属性?

new BinData(newVal, xxx)

1 个答案:

答案 0 :(得分:1)

唯一的方法是使用之前的import numpy as np p = ['1 0 1', '0 0 1', '1 1 0', '0 0 1'] print np.array([map(float, line.split()) for line in p]) 值创建新的BinData。当然要获得该值,您只需要调用[[ 1. 0. 1.] [ 0. 0. 1.] [ 1. 1. 0.] [ 0. 0. 1.]] 方法。

base64

原因是.base64()属性不是可写,如Object.getOwnPropertyDescriptor()

的输出所示
> var bin = new BinData(3,"ASNFZ4mrze/+3LqYdlQyEA==")
> var newType = 0;
> bin = new BinData(newType, bin.base64());
BinData(0,"ASNFZ4mrze/+3LqYdlQyEA==")

例如:

type

即使设置为> Object.getOwnPropertyDescriptor(bin, 'type') { "configurable" : true, "enumerable" : false, "value" : 0, "writable" : false }

,您仍可以看到> bin.type; 0 > bin.type = 3; 3 > bin.type; 0 的值保持不变