12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- // import-data.js
- const { CloudQuery, CloudObject } = require("../lib/ncloud");
- const { DepartList, DoctorList, HotDotList, DrugList } = require("./data");
- inportDapartAndDoctor();
- DataMap = {
- Doctor: {},
- Department: {},
- HotDot: {},
- Drug: {},
- };
- async function inportDapartAndDoctor() {
- 导入药品数据
- let drugList = DrugList;
- for (let index = 0; index < drugList.length; index++) {
- let drug = drugList[index];
- drug = await importObject("Drug", drug);
- }
- //如果需要导入其他数据(科室、医生、热点),可以取消注释以下代码
-
- // 导入科室数据
- let departList = DepartList;
- for (let index = 0; index < departList.length; index++) {
- let depart = departList[index];
- depart = await importObject("Department", depart);
- }
- // 导入医生数据
- let doctorList = DoctorList;
- for (let index = 0; index < doctorList.length; index++) {
- let doctor = doctorList[index];
- doctor = await importObject("Doctor", doctor);
- }
- 导入热点数据
- let hotDotList = HotDotList;
- for (let index = 0; index < hotDotList.length; index++) {
- let hotDot = hotDotList[index];
- hotDot = await importObject("HotDot", hotDot);
- }
-
- console.log("药品数据导入完成");
- }
- async function importObject(className, data) {
- // 查重 srcId 数据源列表中的objectId并非数据库生成的唯一ID,因此需要有一个srcId字段进行记录,并查重
- let query = new CloudQuery(className);
- let srcId = data.objectId;
- query.equalTo("srcId", srcId);
- let importObj = await query.first();
- console.log(importObj);
- // 导入前批量处理Pointer类型数据,进行重定向
- Object.keys(data)?.forEach(key => {
- let field = data[key];
- let srcId = field?.objectId;
- if (srcId) { // 是 Pointer 类型字段
- if (key === "depart") {
- data[key] = DataMap["Department"]?.[srcId]?.toPointer();
- }
- // 如果有其他 Pointer 类型的字段,可以在这里处理
- }
- });
- // 若未添加,则创建新对象并保存
- if (!importObj?.id) {
- importObj = new CloudObject(className);
- }
- // 保存或更新数据
- data.srcId = srcId;
- importObj.set(data);
- importObj = await importObj.save();
- DataMap[className][srcId] = importObj;
- }
|