const { ObjectId } = require('mongodb'); exports.main = async (ctx, db) => { switch (ctx.type) { case 'getMedicalWineList': return getMedicalWineList(ctx, db); } } async function getMedicalWineList(ctx, db) { try { const query = { type: 'wine', disabled: false }; if (typeof ctx.name === 'string' && ctx.name.trim()) { query.name = new RegExp(ctx.name.trim(), 'i'); } if (Array.isArray(ctx.ids)) { query._id = { $in: ctx.ids.map(i => ObjectId.isValid(i) ? new ObjectId(i) : null).filter(Boolean) } } const res = await db.collection('chinese-medicine').find(query, { projection: { details: 1, _id: 1, efficacy: 1, name: 1, unit: 1, cate: 1, disease: 1, max: 1, hisId: 1 } }).toArray(); return { success: true, data: res, message: '查询浸酒数据成功' } } catch (e) { return { success: false, message: e.message } } }