且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在 pymongo 中获取有序字典?

更新时间:2022-05-02 22:49:13

您可以使用 bson.son.SONOrderedDict 来存储有序字典.

You can use bson.son.SON or OrderedDict to store ordered dict.

并使用 as_class=OrderedDict 选项检索数据.

And retrive data with as_class=OrderedDict option.

这是一个例子:

from collections import OrderedDict
from pymongo import MongoClient
import bson

client = MongoClient()
sample_db = client['sample']
test_col = sample_db['test']

test_col.drop()

data = OrderedDict([("one", 1), ("two", 2), ("three", 3), ("four", 4)])
test_col.insert(data)
print(list(test_col.find({}, {'_id': 0}, as_class=OrderedDict)))

test_col.drop()

data = bson.son.SON([("one", 1), ("two", 2), ("three", 3), ("four", 4)])
test_col.insert(data)
print(list(test_col.find({}, {'_id': 0}, as_class=OrderedDict)))

输出:

[OrderedDict([(u'one', 1), (u'two', 2), (u'three', 3), (u'four', 4)])]
[OrderedDict([(u'one', 1), (u'two', 2), (u'three', 3), (u'four', 4)])]