擅长:python、mysql、java
<p>从我在代码中看到的情况来看,您似乎没有使用Mongo自己的ID(存储在<code>_id</code>键中),而是生成了自己的整数ID,存储在<code>id</code>键中。这是正确的吗</p>
<p>代码的问题是Mongo<code>_id</code>键位于发送给<code>make_public_page()</code>的<code>dict</code>对象中,这些对象无法序列化为JSON</p>
<p>您可以通过跳过键<code>_id</code>来解决此问题:</p>
<pre><code>def make_public_page(page):
new_page = {}
for field in page:
if field == 'id':
new_page['uri'] = url_for('get_page', page_id = page['id'], _external = True)
elif field != '_id':
new_page[field] = page[field]
return new_page
</code></pre>
<p>作为补充说明,我认为最好不要发明自己的ID,而只使用Mongo的ID</p>