繁体   English   中英

Pymongo更新与Mongo Shell不同

[英]Pymongo Updating Differently than Mongo Shell

在使用Pymongo进行更新时,如果将相同的查询放入外壳程序(其中db=blog ),则不会得到结果(或错误)

在外壳中,这有效:

db.posts.update(
    {'permalink': 'TLxrBfyxTZjqOKqxgnUP'},
    {'$inc': {'comments.0.num_likes':1}});

在Pymongo中, self.posts = blog.posts ,以下内容不起作用

self.posts.update({'permalink': 'TLxrBfyxTZjqOKqxgnUP'},
      {'$inc': {'comments.0.num_likes':1}})

我也尝试过comments.[0].num_likes在传单上...

日志中未报告任何错误,并且由于触摸的文档数是正确的,因此此更新返回1时,该数据尚未更改。

其他未编入索引的更新在这两种方法中均有效。

我在这里想念什么?

谢谢!

记住, blog.posts中的blog.posts是字符串,但是在python中是变量。

尝试:

from pymongo import MongoClient
con = MongoClient("mongodb://user:pass@127.0.0.1:"+port+"/blog")
db=con['blog']
db['posts'].update({'permalink': 'TLxrBfyxTZjqOKqxgnUP'},
                   {'$inc': {'comments.0.num_likes':1}})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM