跳到主要内容

增删改查

创建

创建单条数据 create

使用 create() 方法创建新文章:

const { data } = await models.post.create({
data: {
body: "你好,世界👋\n\nfrom china",
title: "你好,世界👋",
slug: "hello-world-cn",
},
});

// 返回创建的文章 id
console.log(data);
// { id: "7d8ff72c665eb6c30243b6313aa8539e"}

创建多条数据 createMany

使用 createMany() 方法创建新文章:

const { data } = await models.post.createMany({
data: [
{
title: "Hello World👋",
},
{
title: "Hola Mundo 👋",
},
{
title: "你好,世界👋",
},
{
title: "Bonjour le Monde👋",
},
],
});

// 返回创建的文章 idList
console.log(data);
// {
// "idList": [
// "7d8ff72c665ebe5c02442a1a7b29685e",
// "7d8ff72c665ebe5c02442a1b77feba4b",
// "7d8ff72c665ebe5c02442a1c48263dc6",
// "7d8ff72c665ebe5c02442a1d53c311b0"
// ]
// }

更新

更新单条数据 update

使用 update() 方法更新文章内容:

const { data } = await models.post.update({
data: {
title: "Hello World",
body: "Hello World",
},
filter: {
where: {
_id: {
$eq: "xxxx", // 推荐传入_id数据标识进行操作
},
},
},
});

// 返回更新成功的条数
console.log(data);
// { count: 1}

创建或更新数据 upsert

使用 upsert() 方法创建或更新文章内容:

const post = {
title: "Hello World",
body: "Hello World",
_id: "foo",
};
const { data } = await models.post.upsert({
create: post,
update: post,
filter: {
where: {
_id: {
$eq: post._id,
},
},
},
});
console.log(data);
// 新增时返回
// {
// "count": 0,
// "id": "foo"
// }

// 更新时返回
// {
// "count": 1,
// "id": ""
// }

更新多条数据 updateMany

例如筛选内容不为空的数据,使用 updateMany() 方法更新文章内容和别名:

const { data } = await models.post.updateMany({
data: {
slug: "hello-world",
body: `
"你好世界"可以翻译成以下几种语言:

英语:Hello World 西班牙语:Hola Mundo 法语:Bonjour le Monde 德语:Hallo Welt 意大利语:Ciao Mondo 葡萄牙语:Olá Mundo 荷兰语:Hallo Wereld 日语:こんにちは、世界 (Konnichiwa, Sekai) 韩语:안녕하세요, 세계 (Annyeonghaseyo, Segye)`,
},
filter: {
where: {
title: {
$nempty: 1, // 不为空的数据
},
},
},
});

// 返回更新成功的条数
console.log(data);
// {
// "count": 33
// }

删除

删除单条 delete

使用 delete() 方法删除指定 _id 的文章:

const { data } = await models.post.delete({
filter: {
where: {
_id: {
$eq: "xxx", // 推荐传入_id数据标识进行操作
},
},
},
});

// 返回删除成功的条数
console.log(data);
// {
// "count": 1
// }

删除多条 deleteMany

例如,使用 deleteMany() 方法删除标题为 'Hello World👋' 的文章:

const { data } = await models.post.deleteMany({
filter: {
where: {
title: {
$eq: "Hello World👋",
},
},
},
});

console.log(data);
// 返回删除成功的条数
// {
// "count": 7
// }

读取

读取单条数据 get

使用 get() 方法获取特定文章:

const { data } = await models.post.get({
filter: {
where: {
_id: {
$eq: _id, // 推荐传入_id数据标识进行操作
},
},
},
});

// 返回查询到的数据
console.log(data);
// {
// "owner": "Anonymous(95fblM7nvPi01yQmYxBvBg)",
// "createdAt": 1717488585078,
// "createBy": "Anonymous(95fblM7nvPi01yQmYxBvBg)",
// "updateBy": "Anonymous(95fblM7nvPi01yQmYxBvBg)",
// "_openid": "95fblM7nvPi01yQmYxBvBg",
// "_id": "e2764d2d665ecbc9024b058f1d6b33a4",
// "title": "你好,世界👋",
// "body": "\"你好世界\"可以翻译成以下几种语言:\n\n英语:Hello World\n西班牙语:Hola Mundo\n法语:Bonjour le Monde\n德语:Hallo Welt\n意大利语:Ciao Mondo\n葡萄牙语:Olá Mundo\n荷兰语:Hallo Wereld\n日语:こんにちは、世界 (Konnichiwa, Sekai)\n韩语:안녕하세요, 세계 (Annyeonghaseyo, Segye)",
// "slug": "hello-world",
// "updatedAt": 1717490751944
// }

读取多条数据 list

使用 list() 方法获取所有文章,返回查询到的数据列表 records 和 总数 total

const { data } = await models.post.list({
filter: {
where: {},
},
getCount: true, // 开启用来获取总数
});

// 返回查询到的数据列表 `records` 和 总数 `total`
console.log(data);
// {
// "records": [
// {
// "owner": "Anonymous(95fblM7nvPi01yQmYxBvBg)",
// "createdAt": 1717488585078,
// "createBy": "Anonymous(95fblM7nvPi01yQmYxBvBg)",
// "updateBy": "Anonymous(95fblM7nvPi01yQmYxBvBg)",
// "_openid": "95fblM7nvPi01yQmYxBvBg",
// "_id": "e2764d2d665ecbc9024b058f1d6b33a4",
// "title": "你好,世界👋",
// "body": "\"你好世界\"可以翻译成以下几种语言:\n\n英语:Hello World\n西班牙语:Hola Mundo\n法语:Bonjour le Monde\n德语:Hallo Welt\n意大利语:Ciao Mondo\n葡萄牙语:Olá Mundo\n荷兰语:Hallo Wereld\n日语:こんにちは、世界 (Konnichiwa, Sekai)\n韩语:안녕하세요, 세계 (Annyeonghaseyo, Segye)",
// "slug": "hello-world",
// "updatedAt": 1717490751944
// },
// {
// ...
// },
// ],
// "total": 51
// }