1.0.1 • Published 5 years ago

doc-linkup v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
5 years ago

微信小程序云开发DOC连表查询

该方法返回的是一个Promise对象

DEMO

   const cloud = require('wx-server-sdk')
   const doc_linkup = require('doc_linkup')
   cloud.init()
   const db = cloud.database();
   var data = await db.collection('goods').doc(event._id).get()
   /* 返回字符串:
   *通过连表查询补充新增记录字段,参数含义与微信官方文档聚合连表查询字段含义一致
   * linkType只接受'string'、'object'、'array',并且linkName的数据类型应该与其对应
   */
   return await  doc_linkup(db, data.data, {
       from: 'classification',
       localField: 'class_id',
       linkType: 'string', 
       linkName: 'name',
       foreignField: '_id', //此处必须是_id
       as: 'class_name',
   })
    /* 返回object
   *通过连表查询补充新增记录字段,参数含义与微信官方文档聚合连表查询字段含义一致
   * linkType只接受'string'、'object'、'array',并且linkName的数据类型应该与其对应,返回的是
   */
   return await  doc_linkup(db, data.data, {
       from: 'classification',
       localField: 'class_id',
       linkType: 'object', 
       linkName: {
           name:'',
           num:'',
           ...
       },
       foreignField: '_id',//此处必须是_id
       as: 'class_name',
   })
    /* 返回数组
   *通过连表查询补充新增记录字段,参数含义与微信官方文档聚合连表查询字段含义一致
   * linkType只接受'string'、'object'、'array',并且linkName的数据类型应该与其对应,返回的是
   */
   return await  doc_linkup(db, data.data, {
       from: 'classification',
       localField: 'class_id',
       linkType: 'array', 
       linkName: [{
           name:'',
           num:'',
           ...
       }],
       foreignField: '_id',
       as: 'class_name',
   })
  • 另外也提供了field方法,用法和微信云开发field一致:
return await  doc_linkup(db, data.data, {
        from: 'classification',
        localField: 'class_id',
        linkType: 'string', 
        linkName: '',
        foreignField: '_id',
        as: 'class_name',
    }).field({
        class_id:true
    })