我如何使用javascript将二进制文件插入mongodb

How do I insert a binary file into mongodb using javascript?

本文关键字:二进制文件 插入 mongodb javascript 何使用      更新时间:2023-09-26

我想写一个脚本使用javascript插入二进制文件到mongodb。该文件远远小于最大16MB的限制,因此用GridFS实现这一点超出了我正在编写的特性的范围。

我正在编写脚本,以便我可以像这样运行它:

mongo localhost:27017/myMongoDB loadMyFile.js

loadMyFile.js看起来像这样:

db.myCollection.insert( {
  fileName: "myFile.ogg",
  file: cat(./myFile.ogg")
});

但是当我搜索集合时:

db.myCollection.find({
    fileName:"myFile.ogg"
});

我得到的是:

{
  "_id":ObjectId("53d2d6c76c694a37315c0195"),
  "fileName": "myFile.ogg",
  "file":"ID3'u0002"
}

这似乎是错误的。请协助。

正如@JuanCarlosFarah和@RobertMunn在评论中提到的,GridFS似乎是最好的(也许是唯一的?)方法,可以在不编写小应用程序的情况下将文件插入数据库。

mongofiles -d myMongoDB -l myFileName.ogg --type audio/ogg put "The Name of my File in the Collection"