如果我有一个包含类似于下面的列表字段的集合。
class Post(Document):
tags = ListField(StringField())
假设我有一个带有标签的帖子:有趣,有趣。
如果我想搜索带有满足任何搜索条件的标签的帖子,我应该怎么做?
假设我输入搜索词“有趣”和“很棒”,结果集中应该有上面的帖子。
我试图通读文档,但似乎没有这样的运算符。“all”和“in”是相似的,但不能执行我想要的。
谢谢!
干杯,克里斯
如果我有一个包含类似于下面的列表字段的集合。
class Post(Document):
tags = ListField(StringField())
假设我有一个带有标签的帖子:有趣,有趣。
如果我想搜索带有满足任何搜索条件的标签的帖子,我应该怎么做?
假设我输入搜索词“有趣”和“很棒”,结果集中应该有上面的帖子。
我试图通读文档,但似乎没有这样的运算符。“all”和“in”是相似的,但不能执行我想要的。
谢谢!
干杯,克里斯
这实际上只是一个简单的查询,例如:
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
这等同于hello
查找tags
. In 将搜索“in”数组中的任何项目匹配并且all
所有项目都匹配的位置 - 或者换句话说是完全匹配。