|
|
@@ -76,6 +76,36 @@ db.pay.aggregate([
|
|
|
}
|
|
|
}
|
|
|
])
|
|
|
+最近三天充值
|
|
|
+db.pay.aggregate([
|
|
|
+ {
|
|
|
+ $match: {
|
|
|
+ callbaktime: { $exists: true, $ne: null }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $addFields: {
|
|
|
+ // 将callbaktime转换为数字
|
|
|
+ callbaktimeNum: { $toDouble: "$callbaktime" }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $match: {
|
|
|
+ callbaktimeNum: {
|
|
|
+ $gte: Math.floor(Date.now() / 1000) - (3 * 24 * 60 * 60)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $group: {
|
|
|
+ _id: null,
|
|
|
+ totalMoney: { $sum: "$money" },
|
|
|
+ count: { $sum: 1 },
|
|
|
+ minTime: { $min: "$callbaktimeNum" },
|
|
|
+ maxTime: { $max: "$callbaktimeNum" }
|
|
|
+ }
|
|
|
+ }
|
|
|
+])
|
|
|
|
|
|
备份玩家数据
|
|
|
mongoexport -h localhost -p 27017 -u admin -p 123456 --authenticationDatabase admin -d m5_x1_game_10001 -c user -q '{ "_id": { "$numberLong": "10002017" } }' -o user_10002017.json
|
|
|
@@ -114,4 +144,32 @@ db.user.find({ _id: 10001747 }).forEach(function(doc) {
|
|
|
print("过滤前数量: " + Object.keys(doc.medalManager.medalMap).length);
|
|
|
print("过滤后数量: " + Object.keys(newMedalMap).length);
|
|
|
}
|
|
|
-});
|
|
|
+});
|
|
|
+
|
|
|
+//清除英雄
|
|
|
+db.user.find({ _id: 10001092 }).forEach(function(doc) {
|
|
|
+ if (doc.heroManager && doc.heroManager.heroMap) {
|
|
|
+ var newMedalMap = {};
|
|
|
+
|
|
|
+ // 遍历 medalMap,只保留 isLocked !== 0 的项
|
|
|
+ for (var key in doc.heroManager.heroMap) {
|
|
|
+ var item = doc.heroManager.heroMap[key];
|
|
|
+ if (item.level !== 1) {
|
|
|
+ newMedalMap[key] = item;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新文档
|
|
|
+ db.user.updateOne(
|
|
|
+ { _id: doc._id },
|
|
|
+ { $set: { "heroManager.heroMap": newMedalMap } }
|
|
|
+ );
|
|
|
+
|
|
|
+ print("已处理文档: " + doc._id);
|
|
|
+ print("过滤前数量: " + Object.keys(doc.heroManager.heroMap).length);
|
|
|
+ print("过滤后数量: " + Object.keys(newMedalMap).length);
|
|
|
+ }
|
|
|
+});
|
|
|
+
|
|
|
+//删除指定key的文档
|
|
|
+db.cdk_info.deleteMany({ goodsId: 15 })
|