1.0.1 • Published 5 years ago
doc-linkup v1.0.1
微信小程序云开发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
})