import-data.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. const { CloudQuery, CloudObject } = require("../lib/ncloud");
  2. const { FilmUserList } = require("./data.js");
  3. inportFilmUser()
  4. DataMap = {
  5. FilmUser:{}
  6. }
  7. async function inportFilmUser(){
  8. // 导入用户数据
  9. let filmuserList =FilmUserList
  10. for (let index = 0; index <filmuserList.length; index++) {
  11. let filmuser =filmuserList[index];
  12. filmuser = await importObject("FilmUser",filmuser)
  13. }
  14. console.log(DataMap["FilmUser"])
  15. }
  16. async function importObject(className,data){
  17. // 查重 username 数据源列表中的objectId并非数据库生成的唯一ID,因此需要有一个username字段进行记录,并查重
  18. let query = new CloudQuery(className)
  19. let username = data.objectId
  20. query.equalTo("username",username)
  21. let importObj = await query.first()
  22. console.log(importObj)
  23. // 导入
  24. // 导入前批量处理Pointer类型数据,进行重定向
  25. Object.keys(data)?.forEach(key=>{
  26. let field = data[key]
  27. let username = field?.objectId
  28. if(username){ // 是数组字段
  29. if(key=="depart"){
  30. data[key] = DataMap?.["Department"]?.[username]?.toPointer();
  31. }
  32. }
  33. })
  34. // 若未添加,则创建新对象并保存
  35. if(!importObj?.id){
  36. importObj = new CloudObject(className)
  37. }
  38. // 保存或更新数据
  39. data.username = username;
  40. importObj.set(data);
  41. importObj = await importObj.save();
  42. DataMap[className][username] = importObj
  43. }
  44. // 测试
  45. // const { CloudQuery, CloudObject } = require("../lib/ncloud");
  46. // testUser()
  47. // // testCRUD()
  48. // // testQuery()
  49. // async function testQuery(){
  50. // let query = new CloudQuery("FilmRole")
  51. // // query.equalTo("gender","女")
  52. // // query.greaterThanAndEqualTo("age",40)
  53. // // query.lessThan("age",41)
  54. // let list = await query.find();
  55. // console.log(list)
  56. // }
  57. // async function testCRUD(){
  58. // // 基本的增删查改测试
  59. // let query = new CloudQuery("FilmRole")
  60. // let FilmRoleList = await query.find();
  61. // console.log("FilmRolelist count",FilmRoleList?.length)
  62. // let newFilmRole = new CloudObject("FilmRole")
  63. // newFilmRole.set({"name":"123"})
  64. // newFilmRole = await newFilmRole.save(newFilmRole)
  65. // console.log("newFilmRole",newFilmRole)
  66. // await newFilmRole.destory()
  67. // console.log("newFilmRole 已删除",newFilmRole)
  68. // }
  69. // async function testUser(){
  70. // //基本的增删查改测试
  71. // let query = new CloudQuery("FilmUser")
  72. // query.equalTo("name","qwq")
  73. // let List =await query.find();
  74. // List.forEach(obj => {
  75. // let newFilmUser = new CloudObject("FilmUser")
  76. // console.log(`${obj.objectId}`);
  77. // newFilmUser.id=`${obj.objectId}`
  78. // newFilmUser.destory()
  79. // console.log("newFilmUser 已删除",newFilmUser)
  80. // });
  81. // // let FilmUserList = await query.find();
  82. // // console.log("FilmUserList count",FilmUserList?.length)
  83. // let query1 = new CloudQuery("FilmUser")
  84. // let FilmUserList1 = await query1.find();
  85. // console.log(FilmUserList1)
  86. // console.log("FilmUserList count",FilmUserList1?.length)
  87. // }