我有一个 Python3 应用程序,它将电影信息插入到 mongodb 后端(MongoDB Compass),以及一个单独的 nodejs 应用程序返回它。这工作正常,但是我清除了数据库并重新运行了应用程序,现在当我插入带有insert_one返回结构的文档时总是丢失:
query = {
"Name": name,
"Year": year,
"Format": definition,
"Extension": extension,
"Filepath": filepath,
"MD5Hash": filehash,
"Subtitles": subtitles,
"Date": date,
"FileSize": size
}
result = db.Movies_test.insert_one(query)
首次运行返回数据:
_id: 5b1470da91cb5a2240c57c43
Extension: "mkv"
Format: "1080p"
Filepath: "E:\Movies\10 Cloverfield Lane [2016] 1080p.mkv"
Year: "2016"
FileSize: 2953397031
MD5Hash: "baf1b857c3f2f4fe6d08161e814a64c2"
Date: 2018-06-03 23:51:06.503
Subtitles: false
Name: "10 Cloverfield Lane"
UpdateTime: 2018-06-04 00:42:51.141
第二次运行返回数据:
_id: 5b80322f91cb5a05a809a70f
Year: "2016"
FileSize: 2953397031
Format: "1080p"
Filepath: "E:\Movies\10 Cloverfield Lane [2016] 1080p.mkv"
Date: 2018-08-24 17:28:31.067
Name: "10 Cloverfield Lane"
Extension: "mkv"
MD5Hash: ""
Subtitles: false
我在这里注意到一个类似的问题:使用 pymongo 的 MongoDB 集合中的 { $t: “”, $v: “”} 结构但是没有解决方案,用户只是切换到使用 DocumentDB。
我读到insert有一个额外的选项insert(query, {'ordered': True}),但这也没有保留数据结构:
_id: 5b80373691cb5a10c42c5906
Subtitles: false
Format: "1080p"
FileSize: 2953397031
Extension: "mkv"
Date: 2018-08-24 17:49:58.160
Name: "10 Cloverfield Lane"
MD5Hash: ""
Filepath: "E:\Movies\10 Cloverfield Lane [2016] 1080p.mkv"
Year: "2016"
任何帮助都会很棒,理想情况下,我更愿意以原始查询顺序插入,而不是在输出来自 nodejs 时处理输出。