如何在 django mongodb 引擎的原始查询中使用查找运算符 icontains?
How to use lookup operator icontains in raw query of django mongodb engine?
我正在使用 django-mongodb-engine
这里使用mondodbmanager来使用raw query
class NameInfo(models.Model)
first_name = models.CharField(max_length=50)
class Abc(models.Model):
name = EmbeddedModelField('NameInfo')
objects = MongoDBManager()
** Abc.objects.raw_query({'name.firstname.contains':'j'})**
这没有按预期工作。那么如何在嵌入字段上使用包含查找类型?
如果有其他解决方法,那么 mongodbmanager 也可以接受,如下所示。
from django_mongodb_engine.query import A
Abc.objects.filter(name=A('first_name__icontains','j'))
在 MongoDB 术语中,这是一个 $regex
操作,因此您在 "raw" 中像这样发出:
Abc.objects.raw_query({ "name.firstname": { "$regex": "j" } })
请注意,返回的对象不是您 class 定义中的模型对象,而只是原始 python 对象。
我正在使用 django-mongodb-engine
这里使用mondodbmanager来使用raw query
class NameInfo(models.Model)
first_name = models.CharField(max_length=50)
class Abc(models.Model):
name = EmbeddedModelField('NameInfo')
objects = MongoDBManager()
** Abc.objects.raw_query({'name.firstname.contains':'j'})**
这没有按预期工作。那么如何在嵌入字段上使用包含查找类型?
如果有其他解决方法,那么 mongodbmanager 也可以接受,如下所示。
from django_mongodb_engine.query import A
Abc.objects.filter(name=A('first_name__icontains','j'))
在 MongoDB 术语中,这是一个 $regex
操作,因此您在 "raw" 中像这样发出:
Abc.objects.raw_query({ "name.firstname": { "$regex": "j" } })
请注意,返回的对象不是您 class 定义中的模型对象,而只是原始 python 对象。