我有以下代码:
dbh.postings.update({"word" : word},{"$pushAll":{"postings":self.postings[word]}}, safe=True, upsert=True)
表演比较:
在3060行上插入/更新(word - >帖子)
这怎么可能?为什么使用参数'safe'设置的操作是如此之慢?
结构:
{ "_id" : ObjectId("520d08f5c9aaeee8311e2e7c"), "postings" : [ [ 12, 1 ], [ 14, 1 ] ], "word" : "95" }
更新:“发布”:[ [ 12, 1 ], [ 14, 1 ] ]
其中[ 14, 1 ]
对的字段添加了$ pushAll
答案 0 :(得分:1)
是的,那是预期的。
安全关闭意味着它只承认使用套接字的操作,但是安全上它实际上会做与SQL技术相同的事情,并确保操作实际上转到MongoDb等。
然而,至于您的更新需要这么长时间,我们无法告知没有更多信息。例如,您要发送到该更新语句的索引,文档结构和参数。