mongoengine如何通过使用列表中的包含查询?

Chr*_*ris 1 mongodb pymongo mongoengine

如果我有一个列表字段类似于下面的集合.

class Post(Document):
   tags = ListField(StringField())
Run Code Online (Sandbox Code Playgroud)

假设我有一个贴有标签的帖子:有趣,有趣.

如果我想搜索带有标签的帖子满足任何搜索条件,我该怎么办?

如果我将搜索词放在"有趣"和"奇妙"中,则上面的帖子应该在结果集中.

我试图阅读文档,但似乎没有这样的运算符."all"和"in"相似但不能执行我想要的.

谢谢!

干杯,克里斯

Ros*_*oss 5

这实际上只是一个简单的查询,例如:

class Post(Document):
    tags = ListField(StringField())

>>> Post.drop_collection()
>>> Post(tags=["hello", "world"]).save()
>>> Post(tags=["cat", "dog"]).save()

>>> Post.objects(tags__in=['hello', 'cat']).count()
... 2
Run Code Online (Sandbox Code Playgroud)

什么这相当于是发现有任何文件hellotags.In会搜索"in"数组all中的任何项目匹配并且所有项目匹配的位置 - 或者换句话说是精确匹配.