我正在尝试查询 mongo db 中的二进制字段。数据如下所示:
{"_id":"WE8fSixi8EuWnUiThhZdlw=="}
我尝试了很多东西,例如:
{ '_id': new Binary( 'WE8fSixi8EuWnUiThhZdlw==', Binary.SUBTYPE_DEFAULT) }
{ '_id': Binary( 'WE8fSixi8EuWnUiThhZdlw==', 0) }
等等
似乎没有任何工作,已经用尽了 google 和 mongo 文档,任何帮助都会很棒。
最佳答案
更新 :
现在您应该可以从 MongoDB Compass v1.20+ ( COMPASS-1083 ) 查询 UUID 和 BinData。例如:{"field": BinData(0, "valid_base64")}
.
上一个:
我看到您正在使用 MongoDB Compass查询字段。不幸的是,当前版本的 MongoDB Compass (v1.16.x) 不支持查询二进制数据。
您可以使用 mongo shell改为查询数据。例如:
db.collection.find({'_id':BinData(0, "WE8fSixi8EuWnUiThhZdlw==")});
请注意字段名称
_id
保留用作主键;它的值在集合中必须是唯一的,并且是不可变的。取决于您存储到 _id
中的二进制文件的值,我建议将二进制文件存储在另一个字段中并保留 _id
的值。包含 ObjectId .
关于mongodb - 查询 MongoDB Compass 中的二进制字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54281406/