MongoEngine怎样更新列表数据到MongoDB

mongodb数据结构是下面这样的:

{
    "_id" : 1,
    "tag" : [tag1, tag2, tag3, tag4]
}

然后添加tag5tag

post = Post.objects(id=1).first()   # 获取所在post
temp_tag = post.tag                 # 获取post的tag列表,不知道问题是不是出在这?
post.tag = temp_tag.append('tag5')  # 添加tag5到列表末尾
post.save()                         # 更新

但是怎么都添加不进去,是不是我的写法有问题?

阅读 9.3k
2 个回答
post.tag = temp_tag.append('tag5')  # 添加tag5到列表末尾

这是在干嘛?append原地修改,应该返回None吧。

上边那个说对了,不过说的不够明白。。
意思就是temp_tag.append('tag5')没有返回值,所以post.tag并没有更新。
正确写法应该是

temp_tag.append('tag5')
post.tag = temp_tag
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题