RT.最近在做数据预处理方面的东西,想在代码里用一个list来存放所有的key,然后通过传入指定column的下标来提取相应条目的字段信息。最好list中key的顺序固定,比如mongodb中document存储key的顺序。由于find_one等相关方法返回的是dict类型,所以是乱序,想问下有什么方法提取所有的key并按其在数据库中存储的顺序存放?
要注意JSON对键值对的定义本来就是无序的,数据库也不会保证一定按什么顺序存储BSON对象。所以不要依赖这个顺序来做任何事情。
试试这样:
设定一个 key list 及 用于生成 OrderDict 的工具;
正常存入 mongo;
查询结果,使用上面的『生成 OrderDict 的工具』生成一个 OrderDict 实例对象。
不知这样是否可以满足你的需求。但如果你这个对象又要使用 JSON 之类的方法来传输的话,顺序可能又会乱掉。
要注意JSON对键值对的定义本来就是无序的,数据库也不会保证一定按什么顺序存储BSON对象。所以不要依赖这个顺序来做任何事情。
试试这样:
设定一个 key list 及 用于生成 OrderDict 的工具;
正常存入 mongo;
查询结果,使用上面的『生成 OrderDict 的工具』生成一个 OrderDict 实例对象。
不知这样是否可以满足你的需求。但如果你这个对象又要使用 JSON 之类的方法来传输的话,顺序可能又会乱掉。