0

我有一个 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 时处理输出。

4

0 回答 0