是否可以仅更改MongoDB中二进制元素的子类型?
我在类型0x00的数据库中有二进制元素
BinData(0, xxx)
是否可以通过shell仅更新此元素的subType部分/将其更改为另一个值?
或唯一的方法是使用旧的二进制文件创建新属性?
new BinData(newVal, xxx)
答案 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
的值保持不变