栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

修改属性在MongoDB中的显示顺序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

修改属性在MongoDB中的显示顺序

上面的问题和答案已经很老了。无论如何,如果有人来访,我觉得我应该补充:

这个答案是完全错误的。实际上,在Mongo documents中都是有序键值对。但是,当使用pymongo时,它将对确实没有排序的文档使用python
dicts(从cpython 3.6开始,python dicts保留顺序,但是这被视为实现细节)。但这是pymongo驱动程序的限制。

请注意,此限制实际上会影响可用性。如果在数据库中查询子文档,则只有在键值对的顺序正确的情况下才匹配。

只需自己尝试以下代码:

from pymongo import MongoClientdb = MongoClient().testdbcol = db.testcolsubdoc = {   'field1': 1,   'field2': 2,   'filed3': 3}document = {   'subdoc': subdoc}col.insert_one(document)print(col.find({'subdoc': subdoc}).count())

每次执行此代码时,都会将“相同”文档添加到集合中。因此,每次我们运行此代码段时,打印值“应该”增加一。这不是因为仅查找具有正确顺序的机器子文档,而python
dicts才以任意顺序插入子文档。

请参阅以下答案,如何使用有序词典来克服此问题:http://codingdict.com/questions/163437



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652819.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号