orm2 中文文档 6. 查找记录

简介: 译者:飞龙 来源:Finding itemsfind查找匹配标准的记录,可以链式查询(见下文):Person.

译者:飞龙

来源:Finding items

find

查找匹配标准的记录,可以链式查询(见下文):

Person.find({status:'active'}, function(err, results) {
  // ...
});

你也可以限制结果的个数,这条语句限制结果为10个:

Person.find({status:'active'}, 10, function(err, results) {
  // ...
});

Person.allPerson.find的别名。

get

通过主键来查找记录。

Person.get(1, function(err, person) {
  // ...
});

one

只查找一个记录,和find的语法相似。

Person.one({status:'active'}, function(err, person) {
  // ...
});

count

获取所匹配记录的数量。

Person.count({status:'active'}, function(err, activePeopleCount) {
  // ...
});

exists

测试匹配你的条件的记录是否存在。

Person.exists({id:1, status:'active'}, function(err, personIsActive) {
  // ...
});

过滤和排序

我们接受两个对象来执行过滤(第一个)和聚合(第二个)。聚合对象接受limitordergroupBy

https://github.com/dresende/node-orm2/blob/v2.1.20/lib/AggregateFunctions.js#L36

Person.find({status:'active'}, {limit:10}, function(err, res) {

});

find/count/one 等方法的条件查询

所有以逗号分隔的键值对在查询中都会以AND连接。你可以把逻辑运算符放在一系列条件的前面。

Person.find({or:[{col1: 1}, {col2: 2}]}, function(err, res) {
  // res 为 col1 == 1 或者 col2 == 2 的 Person
});

使用IN来查找

sql-query(取决于SQL引擎)会自动将数组视为基于IN的查询。

https://github.com/dresende/node-sql-query/blob/v0.1.23/lib/Where.js#L172

Person.find({id: [1, 2]}, function(err, persons) {
  // 查找 id 是 1 或者 2 的 Person (例如 WHERE id IN (1, 2) )
});
相关文章
|
SQL 存储 缓存
odoo ORM API学习总结兼orm学习教程3
odoo ORM API学习总结兼orm学习教程
270 0
|
存储 SQL XML
odoo ORM API学习总结兼orm学习教程 1
odoo ORM API学习总结兼orm学习教程
113 0
|
存储 缓存 API
odoo ORM API学习总结兼orm学习教程 2
odoo ORM API学习总结兼orm学习教程
147 0
|
SQL 关系型数据库 MySQL
Django框架之ORM
Django框架之ORM
83 0
Django框架之ORM
Beego学习——orm实现简单的crud
Beego学习——orm实现简单的crud
74 0
|
SQL 安全 Go
GoFrame ORM 使用实践分享
今天这篇把我使用GoFrame ORM的过程中认为有价值、可能踩坑、比较好的实践等相关的知识点分享出来。
283 0
peewee模块基本使用-ORM
peewee模块基本使用-ORM
peewee模块基本使用-ORM
|
关系型数据库 Java 程序员
|
数据库 数据建模
ORM简介
    对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 。
909 0