基于mongoengine中的另一个字段更新字段



我使用mongoengine(它是pymongo的ORM包装(。文档中的url字段包含一个相对路径(如/abc/blog/12/01(,我想批量更新fullUrl字段,使其看起来像https://mywebsite.com/abc/blog/12/01在Django ORM中,使用update(newfield=F('oldfield')很容易。在mongoengine中有没有同样的方法?


class ArticleLink(Document):
url = StringField()
fullUrl=URLField()

所以我怀疑这样的东西是行不通的:

ArticleLink.objects.update(fullUrl=Q('url'))

好的,很抱歉,这比我想象的要简单得多:

HEAD = 'https://example.com'
pipeline = [
{"$set": {"fullUrl": {"$concat": [HEAD, "$url"]}}}
]
data = ArticleLink.objects().aggregate(*pipeline)

最新更新