使用_id作为JSON的文件名将JSON导入到Mongo中?

时间:2018-07-19 11:20:40

标签: python json python-3.x mongodb pymongo

问题:

我以这种格式存储了大量的json文件。

cat 00329f9608793cdf176032630ebc42ef.json
{
  "engine": {},
  "engine1": "not_found",
  "engine2": "not_found",
  "engine3": "not_found",
  "engine4": "not_found",
  "engine5": "not_found"
}

现在我创建了一个文件夹,其中没有大量这种格式的json文件。现在我想将每个json导入我创建的mongo集合中,当我尝试插入json文件时,_id是使用随机哈希创建的,这不是故意的行为,我想要的是获取JSON的文件名并使用文件名创建_id。

假设应采用00329f9608793cdf176032630ebc42ef.json并创建_id,例如00329f9608793cdf176032630ebc42ef

我尝试过的事情:

mongoimport --db dbName --collection myCollection --file 00329f9608793cdf176032630ebc42ef.json --jsonArray

需要什么?

有什么方法可以处理文件名应存储为_id而不是任何随机散列的情况。

1 个答案:

答案 0 :(得分:1)

将以下键值映射添加到原始json文件可能是正确的方向。

"_id": {"$oid":"your_filename_here"}