@@ -0,0 +1,123 @@
|
||||
let tree = new Map([
|
||||
[
|
||||
{
|
||||
"name": "用户管理",
|
||||
"path": "/user",
|
||||
"icon": "icon"
|
||||
},
|
||||
[
|
||||
{
|
||||
"name": "查询登陆日志",
|
||||
"path": "/user/查询登陆日志",
|
||||
"icon": "icon"
|
||||
},
|
||||
{
|
||||
"name": "查询观看日志",
|
||||
"path": "/user/查询观看日志",
|
||||
"icon": "icon"
|
||||
},
|
||||
]
|
||||
],
|
||||
[
|
||||
{
|
||||
"name": "管理员",
|
||||
"path": "/admin",
|
||||
"icon": "icon"
|
||||
},
|
||||
[
|
||||
{
|
||||
"name": "查询登陆日志",
|
||||
"path": "/admin/查询登陆日志",
|
||||
"icon": "icon"
|
||||
},
|
||||
{
|
||||
"name": "查询权限",
|
||||
"path": "/admin/查询权限",
|
||||
"icon": "icon"
|
||||
},
|
||||
]
|
||||
],
|
||||
[
|
||||
{
|
||||
"name": "查询权限",
|
||||
"path": "/admin/查询权限",
|
||||
"icon": "icon"
|
||||
},
|
||||
[
|
||||
{
|
||||
"name": "修改",
|
||||
"path": "/admin/查询权限/修改",
|
||||
"icon": "icon"
|
||||
},
|
||||
{
|
||||
"name": "插入",
|
||||
"path": "/admin/查询权限/插入",
|
||||
"icon": "icon"
|
||||
},
|
||||
]
|
||||
]
|
||||
]);
|
||||
|
||||
let coll = "auth_menu"
|
||||
const MongoClient = require('mongodb').MongoClient;
|
||||
let dburl = "mongodb://192.168.1.249:27017,192.168.1.249:27018,192.168.1.249:27019/video?replicaSet=mongoRepl&maxPoolSize=200&connectTimeout=30";
|
||||
|
||||
MongoClient.connect(dburl, {useUnifiedTopology: true, useNewUrlParser: true}, (err, db) => {
|
||||
if (err) {
|
||||
console.log('数据库连接失败!');
|
||||
return;
|
||||
}
|
||||
;
|
||||
|
||||
let videoDB = db.db("video");
|
||||
let ps = Array.from(tree.keys()).map(key => {
|
||||
return new Promise(function (resolve, rejcet) {
|
||||
videoDB.collection(coll).findOneAndUpdate(
|
||||
{path: key.path},
|
||||
{$set: key},
|
||||
{
|
||||
upsert: true,
|
||||
new: true
|
||||
},
|
||||
(err, result) => {
|
||||
if (err) {
|
||||
rejcet('数据更新失败' + err)
|
||||
return
|
||||
}
|
||||
;
|
||||
resolve({id: result.value._id, array: tree.get(key)})
|
||||
});
|
||||
})
|
||||
})
|
||||
|
||||
Promise.all(ps).then(pairs => {
|
||||
let pss = pairs.map(pair => {
|
||||
let ps = pair.array.map(e => {
|
||||
return new Promise(function (resolve, rejcet) {
|
||||
videoDB.collection(coll).updateOne({path: e.path},
|
||||
{$set: {parent: pair.id, ...e}},
|
||||
{upsert: true},
|
||||
(err, result) => {
|
||||
if (err) {
|
||||
rejcet('数据插入失败!' + err)
|
||||
return
|
||||
}
|
||||
;
|
||||
resolve()
|
||||
});
|
||||
})
|
||||
})
|
||||
return ps
|
||||
})
|
||||
pArry = pss.reduce((a, c) => {
|
||||
return a.concat(a, c)
|
||||
}, [])
|
||||
return Promise.all(pArry)
|
||||
}).then(() => {
|
||||
console.log('完成!');
|
||||
db.close()
|
||||
}).catch(err => {
|
||||
console.log(err);
|
||||
db.close()
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user