擅长:python、mysql、java
<p>根据我上面的评论,我建议不要嵌入文档,而是使用数组。以下方法会很好地工作:</p>
<pre><code>{'url': 'http://stackoverflow.com/',
'users': [{'user': 'billy', 'value': 12},
{'user': 'tommy', 'value': 2}}
</code></pre>
<p>这样您就可以利用<code>$push</code>、<code>$pull</code>等以及<code>$addToSet</code>。对于后者,您可以添加如下新用户:</p>
^{pr2}$
<p>现在假设您只想为给定用户增加一个值,您也可以很容易地做到:</p>
<pre><code>foo.update({'url': d.get('url'), 'users.user': 'tommy'}, {'$inc': {'users.$.value': 1}})
</code></pre>
<p>要想了解更多关于我提出的模式可以做的事情,我将阅读<a href="http://www.mongodb.org/display/DOCS/Updating" rel="nofollow">this</a></p>