我想将新的 ListField EmbeddedDocument 附加到现有的 ListField EmbeddedDocument 文档。换句话说,将一个新文档附加到列表中,该文档属于列表中的一个文档。
我的模型:一个帖子可以包含多个评论,每个评论可以有几个赞:
class Post(Document):
txt = StringField()
comments = ListField(EmbeddedDocumentField(Comment))
class Comment(EmbeddedDocument):
comment = StringField()
comment_id = ObjectIdField()
likes = ListField(EmbeddedDocumentField(Like))
class Like(EmbeddedDocument):
user = ReferenceField(User)
date = DateTimeField(default=datetime.utcnow,required=True)
我的代码:(不存在“附加”命令不存在,仅存在“设置”)
def appendNewLike():
user = {..}
target = ObjectId(commentId)
newLike = Like(user=user)
Product.objects(comments__comment_id=target).update(append_comments__S__likes=newLike)
理想的解决方案是这样的:
def appendNewLike():
user = {..}
target = ObjectId(commentId)
newLike = Like(user=user)
Product.objects(comments__comment_id=target).comments.likes.append(newLike)
评论?建议?