本文介绍如何使用数据存储服务查询数据集中的记录。
客户端调用
- 查询一条记录。
调用findOne方法查询大于且最接近18岁的一条记录的name。
projection: { name: 1 }
表示只返回name字段,其中1表示过滤,0表示排除。sort: { age: 1 }
表示将查询后的结果按升序排列,其中1表示升序,-1表示降序。mpserverless.db.collection('users') .findOne({ age: { $gt: 18 } }, { projection: { name: 1 }, sort: { age: 1 } }) .then(res => { }) .catch(console.error);
- 查询所有记录。
调用find方法查询所有大于18岁的name,并将查询结果按升序返回。
mpserverless.db.collection('users') .find({ age: { $gt: 18 } }, { projection: { name: 1 }, sort: { age: 1 } }) .then(res => { }) .catch(console.error);
- 查询并删除一条记录。
调用findOneAndDelete方法查询并删除小于且最接近18岁的一条数据。
mpserverless.db.collection('users') .findOneAndDelete({ age: { $lt: 18 } }, { sort: { age: -1 } }) .then(res => { }) .catch(console.error);
- 查询并整体替换一条记录。
调用findOneAndReplace方法查询并替换name为zhangsan的一条数据。
mpserverless.db.collection('users') .findOneAndReplace({ name: "zhangsan" }, { $set: { name: "lisi", age: 20 } }) .then(res => { }) .catch(console.error);
- 查询并更新记录。
调用findOneAndUpdate查询并更新name为zhangsan的一条记录的age字段。
mpserverless.db.collection('users') .findOneAndUpdate({ name: "zhangsan" }, { $set: { age: 18 } }) .then(res => {}) .catch(console.error);
云函数调用
- 查询一条记录。
调用findOne方法查询大于且最接近18岁的一条记录的name。
projection: { name: 1 }
表示只返回name字段,其中1表示过滤,0表示排除。sort: { age: 1 }
表示将查询后的结果按升序排列,其中1表示升序,-1表示降序。'use strict'; module.exports = async function (ctx) { return await ctx.mpserverless.db.collection('users') .findOne({ age: { $gt: 18 } }, { projection: { name: 1 }, sort: { age: 1 } }); };
- 查询所有记录。
调用find方法查询所有大于18岁的name,并将查询结果按升序返回。
'use strict'; module.exports = async function (ctx) { return await ctx.mpserverless.db.collection('users') .find({ age: { $gt: 18 } }, { projection: { name: 1 }, sort: { age: 1 } }); };
- 查询并删除一条记录。
调用findOneAndDelete方法查询并删除小于且最接近18岁的一条数据。
'use strict'; module.exports = async function (ctx) { return await ctx.mpserverless.db.collection('users') .findOneAndDelete({ age: { $lt: 18 } }, { sort: { age: -1 } }); };
- 查询并整体替换一条记录。
调用findOneAndReplace方法查询并替换name为zhangsan的一条数据。
'use strict'; module.exports = async function (ctx) { return await ctx.mpserverless.db.collection('users') .findOneAndReplace({ name: "zhangsan" },{ $set: { name: "lisi", age: 20 } }); };
- 查询并更新记录。
调用findOneAndUpdate查询并更新name为zhangsan的一条记录的age字段。
'use strict'; module.exports = async function (ctx) { return await ctx.mpserverless.db.collection('users') .findOneAndUpdate({ username: "zhangsan" }, { $set: { age: 18 } }); };