12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- var siteModels = db.t_site_model.find().toArray();
- siteModels.forEach(function(siteModel) {
- // 判断该文档是否为 'floor' 类型
- // 构造更新对象
- var updateFields = {};
- //判断条件,成功就跳过
- if (siteModel.sceneNum && siteModel.datasetId) {
- print("Skipping ");
- return;
- }
- // 判断并添加 sceneNum 或 datasetId 字段
- if (!siteModel.sceneNum) {
- updateFields.sceneNum = siteModel.sceneCode; // 如果没有 sceneNum,设置为 sceneCode
- }
- if (!siteModel.datasetId) {
- var datasets = db.t_data_set.findOne({ isItself: true , sceneCode:siteModel.sceneCode});
- if (datasets){
- updateFields.datasetId = datasets._id; // 如果没有 datasetId,设置为 datasetId
- }
- }
- if (siteModel.type === 'floor') {
- updateFields.isItself = true; // 添加 isItself 字段
- }
- // 如果有更新字段,则添加 isItself 字段
- if (Object.keys(updateFields).length > 0) {
- print("updateFields",updateFields)
- // 执行更新操作
- db.t_site_model.updateOne(
- { _id: siteModel._id }, // 根据 _id 找到对应文档
- {
- $set: updateFields // 更新相关字段
- }
- );
- print("Updated document with _id: " + siteModel._id + " (sceneCode: " + siteModel.sceneCode + ")");
- } else {
- print("Skipping update for document with _id: " + siteModel._id + " (sceneNum and datasetId already exist)");
- }
- });
|