command.push
解释:数据库更新指令,该指令需要操作一个类型为数组的字段,并在数组尾部增加一个或多个值。传入参数的类型需为数组类型。
代码示例 1:尾部添加元素
swan.cloud.init({
env: 'envId'
});
const db = swan.cloud.database();
const _ = db.command;
db.collection('users')
.doc('docId')
.update({
tags: _.push(['smartprogram'])
})
代码示例 2:从第二个位置开始插入
swan.cloud.init({
env: 'envId'
});
const db = swan.cloud.database();
const _ = db.command;
db.collection('users')
.doc('docId')
.update({
tags: _.push({
each: ['smartprogram', 'cloud'],
position: 1,
})
})
代码示例 3:插入后对整个数组进行排序
swan.cloud.init({
env: 'envId'
});
const db = swan.cloud.database();
const _ = db.command;
db.collection('users')
.doc('docId')
.update({
tags: _.push({
each: ['smartprogram', 'cloud'],
sort: 1,
})
})
代码示例 4:不插入,只对数组做排序
swan.cloud.init({
env: 'envId'
});
const db = swan.cloud.database();
const _ = db.command;
db.collection('users')
.doc('docId')
.update({
tags: _.push({
each: [],
sort: 1,
})
})
代码示例 5:如果字段是对象数组,可以如下根据元素对象里的字段进行排序
swan.cloud.init({
env: 'envId'
});
const db = swan.cloud.database();
const _ = db.command;
db.collection('users')
.doc('docId')
.update({
tags: _.push({
each: [
{ name: 'miniprogram', weight: 8 },
{ name: 'cloud', weight: 6 },
],
sort: {
weight: 1,
},
})
})
代码示例 6:截断保留,插入后只保留后 2 个元素
swan.cloud.init({
env: 'envId'
});
const db = swan.cloud.database();
const _ = db.command;
db.collection('users')
.doc('docId')
.update({
tags: _.push({
each: ['mini-program'],
slice: -2,
})
})
代码示例 7:在指定位置插入、然后排序、最后只保留前 2 个元素
swan.cloud.init({
env: 'envId'
});
const db = swan.cloud.database();
const _ = db.command;
db.collection('users')
.doc('docId')
.update({
tags: _.push({
each: ['mini-program'],
position: 1,
slice: 2,
sort: 1,
})
})