我有一个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
我在这里注意到了一个类似的问题:{ $t: “”, $v: “”} structure in MongoDB collections using pymongo但是没有解决方案,用户只是切换到使用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中出来时不处理输出。