MongoDB如何查询字段A在Base64编码值列表中的文档?
针对Base64值列表的MongoDB查询实现
要查询字段A匹配指定Base64值列表的所有文档,你可以使用MongoDB的$in操作符,只需将列表中的每个Base64字符串转换为对应的Binary对象,再传入$in的数组参数中即可。
具体实现代码
// 定义需要匹配的Base64值列表 const targetBase64List = [ 'k4FyS0OWT6ujgLUAZKnsLw==', '第二个目标Base64值', '第三个目标Base64值' ]; // 将每个Base64值转换为对应Binary对象(子类型3需与存储时保持一致) const binaryMatchList = targetBase64List.map(base64Str => Binary.createFromBase64(base64Str, 3) ); // 执行批量匹配查询 db.my_collection.find({ A: { $in: binaryMatchList } });
关键注意点
- 字段
A存储的是Binary类型,因此必须将所有目标Base64值转换成对应的Binary实例,才能让$in操作符正确匹配文档。 - 代码中的
3是Binary的子类型,必须和你存储文档时使用的子类型完全一致,否则会出现匹配失败的情况。
内容的提问来源于stack exchange,提问作者dada
相关产品推荐
相关产品推荐

