请问Mongoengine如何查询ListField内不包含指定值的结果,,class Post(D


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

tags 可以是 ["php", "python", "perl"],还可以是 ["ruby", "java"] 之类的

假设,我要列出 tags 里所有不包含 php 的 post,应该怎么写查询?

其实就用 $ne 就好了。

from pymongo import MongoClientclient = MongoClient("mongodb://127.0.0.1")db = client["your-db"]collection = db["your-collection"]iter = collection.find({    "tags": {        "$ne": "php",    },})

用 $nin

Consider the following query:

If the field holds an array, then the $nin operator selects the documents whose field holds an array with no element equal to a value in the specified array (e.g. , , etc.).

Post.objects(tags__ne='php')

编橙之家文章,

评论关闭