command.push

解释:数据库更新指令,该指令需要操作一个类型为数组的字段,并在数组尾部增加一个或多个值。传入参数的类型需为数组类型。

代码示例 1:尾部添加元素

  1. swan.cloud.init({
  2. env: 'envId'
  3. });
  4. const db = swan.cloud.database();
  5. const _ = db.command;
  6. db.collection('users')
  7. .doc('docId')
  8. .update({
  9. tags: _.push(['smartprogram'])
  10. })

代码示例 2:从第二个位置开始插入

  1. swan.cloud.init({
  2. env: 'envId'
  3. });
  4. const db = swan.cloud.database();
  5. const _ = db.command;
  6. db.collection('users')
  7. .doc('docId')
  8. .update({
  9. tags: _.push({
  10. each: ['smartprogram', 'cloud'],
  11. position: 1,
  12. })
  13. })

代码示例 3:插入后对整个数组进行排序

  1. swan.cloud.init({
  2. env: 'envId'
  3. });
  4. const db = swan.cloud.database();
  5. const _ = db.command;
  6. db.collection('users')
  7. .doc('docId')
  8. .update({
  9. tags: _.push({
  10. each: ['smartprogram', 'cloud'],
  11. sort: 1,
  12. })
  13. })

代码示例 4:不插入,只对数组做排序

  1. swan.cloud.init({
  2. env: 'envId'
  3. });
  4. const db = swan.cloud.database();
  5. const _ = db.command;
  6. db.collection('users')
  7. .doc('docId')
  8. .update({
  9. tags: _.push({
  10. each: [],
  11. sort: 1,
  12. })
  13. })

代码示例 5:如果字段是对象数组,可以如下根据元素对象里的字段进行排序

  1. swan.cloud.init({
  2. env: 'envId'
  3. });
  4. const db = swan.cloud.database();
  5. const _ = db.command;
  6. db.collection('users')
  7. .doc('docId')
  8. .update({
  9. tags: _.push({
  10. each: [
  11. { name: 'miniprogram', weight: 8 },
  12. { name: 'cloud', weight: 6 },
  13. ],
  14. sort: {
  15. weight: 1,
  16. },
  17. })
  18. })

代码示例 6:截断保留,插入后只保留后 2 个元素

  1. swan.cloud.init({
  2. env: 'envId'
  3. });
  4. const db = swan.cloud.database();
  5. const _ = db.command;
  6. db.collection('users')
  7. .doc('docId')
  8. .update({
  9. tags: _.push({
  10. each: ['mini-program'],
  11. slice: -2,
  12. })
  13. })

代码示例 7:在指定位置插入、然后排序、最后只保留前 2 个元素

  1. swan.cloud.init({
  2. env: 'envId'
  3. });
  4. const db = swan.cloud.database();
  5. const _ = db.command;
  6. db.collection('users')
  7. .doc('docId')
  8. .update({
  9. tags: _.push({
  10. each: ['mini-program'],
  11. position: 1,
  12. slice: 2,
  13. sort: 1,
  14. })
  15. })