| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- db.user.find(
- { _id: 10004680 }
- )
- db.user.updateOne(
- { _id: 10000394 },
- {
- $set: {
- "medalManager.medalMap": {},
- "combatPlanManager.combatPlanMap": {},
- }
- }
- );
- db.user.find(
- { _id: 10000245 },
- { _id: 1, "medalManager.medalMap": 1}
- )
- db.user.find(
- { _id: 10000245 },
- { _id: 1, "combatPlanManager.combatPlanMap": 1}
- )
- //删除指定字段为0的子文档
- db.user.updateMany(
- { _id: 10000245 },
- [
- {
- $set: {
- "medalManager.medalMap": {
- $arrayToObject: {
- $filter: {
- input: { $objectToArray: "$medalManager.medalMap" },
- as: "item",
- cond: { $ne: ["$$item.v.isLocked", 0] }
- }
- }
- }
- }
- }
- ]
- )
- db.user.updateMany(
- { _id: 10000245 },
- [
- {
- $set: {
- "combatPlanManager.combatPlanMap": {
- $arrayToObject: {
- $filter: {
- input: { $objectToArray: "$combatPlanManager.combatPlanMap" },
- as: "item",
- cond: { $ne: ["$$item.v.position", 0] }
- }
- }
- }
- }
- }
- ]
- )
- //查询充值总和
- db.pay.aggregate([
- {
- $match: {
- callbaktime: { $exists: true, $ne: null } // 筛选callbacktime存在且不为null的文档
- }
- },
- {
- $group: {
- _id: null,
- totalMoney: { $sum: "$money" }
- }
- }
- ])
- 备份玩家数据
- 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
- 删除玩家指定邮件
- db.user.update(
- { _id: 10002017 },
- { $unset: { "mailManager.mailMap.10002017010217683145650000": 1 } }
- )
- db.user.findOne(
- { _id: 10002017 },
- { "mailManager.mailMap": 1 }
- )
- mongo4.2以下清楚芯片数据:
- db.user.find({ _id: 10001747 }).forEach(function(doc) {
- if (doc.medalManager && doc.medalManager.medalMap) {
- var newMedalMap = {};
-
- // 遍历 medalMap,只保留 isLocked !== 0 的项
- for (var key in doc.medalManager.medalMap) {
- var item = doc.medalManager.medalMap[key];
- if (item.isLocked !== 0) {
- newMedalMap[key] = item;
- }
- }
-
- // 更新文档
- db.user.updateOne(
- { _id: doc._id },
- { $set: { "medalManager.medalMap": newMedalMap } }
- );
-
- print("已处理文档: " + doc._id);
- print("过滤前数量: " + Object.keys(doc.medalManager.medalMap).length);
- print("过滤后数量: " + Object.keys(newMedalMap).length);
- }
- });
|