mongodb - 查询 MongoDB Compass 中的二进制字段

标签 mongodb

我正在尝试查询 mongo db 中的二进制字段。数据如下所示:

{"_id":"WE8fSixi8EuWnUiThhZdlw=="}

enter image description here

我尝试了很多东西,例如:
{ '_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/

相关文章:

mongodb - 如何在 Meteor.js 中遍历所有对象时将两个集合对象组合到一个表中?

mongodb - 在 mongoDB 预测中添加新字段

mongodb - 如何在 mongoDB 中结合使用 $unset 和 $set

java - 蒙戈 : aggregation and indexing with Java - optimal way

mongodb - 用 meteor 填充在mongodb中

c - 为 Win64 构建 mongo-c-driver-1.16.2 时出现问题

php mongodb 发现不工作

mysql - MySQL表在MongoDB中的正确实现?

node.js - 当数字与动态字段名称关联时 $inc 的 Mongo Node 语法

node.js - Mongoose 中按数组长度对文档进行排序