字段查找

字段查找就是你如何指定一个SQL WHERE子句。它们被指定作为关键字参数来传递到查询集方法filter(),exclude()get().

基本的关键字参数查询采用field__lookup=value这种形式。(那是一个双下划线)。例如:

 

翻译(大概的)成下列SQL

 

这是怎么实现的

Python有定义()函数的能力。对于更多信息看官网的Python指南的这里。http://docs.python.org/tutorial/controlflow.html#keyword-arguments

在一个查询中被指定的字段必须是一个模型字段的名字。一旦对于一个外键你把字段名指定为_id后缀,将会产生一个异常。在这种情况下,值参数被期望包含外部模型的主键的原始值。例如:

 

如果你传递了一个不可利用的关键字参数,一个查询函数将会产生一个异常。

数据库API支持大约两打查阅类型:一个完全的查阅能被发现在这里https://docs.djangoproject.com/en/1.7/ref/models/querysets/#field-lookups,为了让你知道一下什么是可利用的,下列是你可能使用的更多常用查询中的一部分:

exact

一个“extract”匹配。例如:

 

将会生成这样的SQL

 

 

如果你不提供一个查阅类型——也就是,如果你的关键字参数没有包含双下划线——查阅类型被假设为extract

例如:下列两个语句是等价的:

 

这是为了方便,因为extract查询是最常见的情况。

iextract

一个大小写不敏感的匹配。因此,查询:

 

将会匹配一个Blog标题如:”Beatles Blog”, “beatles blog”,或者甚至”BeAtLES blOG”

Contains

大小写敏感的包含测试。例如:

 

大概地被翻译成这样的SQL

 

注意这将首行’Today Lennon honored’ 却不是’today lennon honored’。

也有大小写不敏感的版本,icontains

startswith,endswith

分别的进行starts-withends-with查询.也有大小写不敏感的版本istartswithiendswith.

最后,这仅仅是表面的东西。一个完全的参考书能够被发现在这里https://docs.djangoproject.com/en/1.7/ref/models/querysets/#field-lookups

转载于:https://www.cnblogs.com/yibudengtian/p/4419729.html

### MongoDB 查询指定字段 示例 在 MongoDB 中,可以通过 `find` 方法实现对文档中特定字段的查询。此方法允许我们仅返回所需的字段而不是整个文档的内容。以下是具体的示例: #### 使用 find 方法查询指定字段 假设有一个名为 `users` 的集合,其中包含以下文档: ```json { "_id": ObjectId("..."), "name": "Alice", "age": 25, "email": "alice@example.com" } ``` 如果只想获取用户的姓名 (`name`) 和电子邮件地址 (`email`) 而不关心其他字段,则可以在查询时传递第二个参数作为投影 (projection),如下所示: ```javascript db.users.find( {}, // 查询条件为空表示匹配所有文档 { name: 1, email: 1 } // 投影部分定义要返回的字段 ); ``` 上述代码会返回类似于以下的结果[^4]: ```json [ { "_id": ObjectId("..."), "name": "Alice", "email": "alice@example.com" } ] ``` 注意,默认情况下 `_id` 字段始终会被包含在结果集中,除非显式排除。 #### 排除不需要的字段 也可以通过设置字段值为 `0` 来排除某些字段。例如,如果我们不想显示默认的 `_id` 字段以及年龄 (`age`) 字段,可以这样写: ```javascript db.users.find( {}, { _id: 0, age: 0 } // 将不需要的字段设为 0 即可隐藏它们 ); ``` 这将得到不含 `_id` 和 `age` 的结果集。 #### 结合条件过滤器使用 当需要同时应用筛选条件并只提取特定列的时候,只需把第一个参数替换为你想要使用的查询表达式即可。比如寻找名字叫 Alice 并且大于等于 18 岁的人的名字和邮箱地址: ```javascript db.users.find( { name: 'Alice', age: { $gte: 18 } }, // 添加查询条件 { name: 1, email: 1 } // 定义投影规则 ); ``` 以上就是关于如何利用 MongoDB 提供的功能来进行高效的数据检索操作的一个简单例子[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值