-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
72 lines (62 loc) · 1.5 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
const fs = require('fs')
let intermediaArr = []
// 用户数据
let userData = fs.readFileSync('hqusers.json', 'utf-8')
.split(/\r?\n/)
userData.pop()
userData.forEach(
item => {
({ _id, username, admin, emails, services: {password: {bcrypt}}, createdAt: {$date} } = JSON.parse(item))
let tempObj = {
_id,
username,
bcrypt,
emails,
$date,
admin: admin ? admin : false,
wechatId: null,
contracts: []
}
intermediaArr.push(tempObj)
}
)
// Users Colletcion without contracts
console.log(intermediaArr.length)
// VIP数据
let vipData = fs.readFileSync('vipdata.json', 'utf-8')
.split(/\r?\n/)
vipData.pop()
// 课程数据
let courseData = fs.readFileSync('coursedata.json', 'utf-8')
.split(/\r?\n/)
courseData.pop()
let vipNum = 0
let courseNum = 0
intermediaArr.forEach(
user => {
for (let vip of vipData) {
({userId, _id} = JSON.parse(vip))
if (user._id === userId) {
user.contracts.push(_id)
++vipNum
}
}
for (course of courseData) {
({userId, _id} = JSON.parse(course))
if (user._id === userId) {
user.contracts.push(_id)
++courseNum
}
}
}
)
console.log(vipNum)
console.log(courseNum)
let finalStr = intermediaArr.map(
item => JSON.stringify(item)
).join('\n')
fs.writeFile('user.js', finalStr, (err) => {
if (err) throw err
console.log('The file has been restructured!')
})
// mongoimport -d test -c testcollection --file temp.js