File size: 1,889 Bytes
0f63205
 
 
 
 
 
 
 
 
 
 
 
 
c708cff
0f63205
9e8747f
 
 
 
 
 
 
 
 
 
e33079c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
872e627
 
 
9e8747f
 
872e627
 
9e8747f
872e627
 
 
0f63205
c708cff
 
 
 
 
 
 
 
 
 
 
 
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import pymongo

def get_mongo_col(col="config_beta"):
    """
    获取操作mongo集合
    """
    mongo_3012 = "mongodb://dashboard:9qRV71M%25Trx1CI@m3012.hw.mongos.m.com:3012/dashboard?authSource=dashboard"
    client = pymongo.MongoClient(mongo_3012, maxPoolSize=500)
    db = client["dashboard"]
    col = db[col]  # data_package(7234543961263854561)  goods_feature("7234800834201014260")
    return col

# 拿到 collection 对象
collection = get_mongo_col()  # 默认 col="config_beta"


doc = collection.find_one(
    {"name": "txt2txt_price_config"},
    {"_id": 0, "data": 1}
)
if not doc:
    raise RuntimeError("找不到配置 document")

data = doc["data"]


data["gpt-4.1"] = {
    "completion_price": 0.008,
    "prompt_price": 0.002,
    "currency": "$"
}

data["gpt-4.1-mini"] = {
    "completion_price": 0.0016,
    "prompt_price": 0.0004,
    "currency": "$"
}

data["gpt-4.1-nano"] = {
    "completion_price": 0.0004,
    "prompt_price": 0.0001,
    "currency": "$"
}

data["gpt-5"] = {
    "completion_price": 0.01,
    "prompt_price": 0.00125,
    "currency": "$"
}

data["gpt-5-chat"] = {
    "completion_price": 0.01,
    "prompt_price": 0.00125,
    "currency": "$"
}

data["gpt-5-nano"] = {
    "completion_price": 0.0004,
    "prompt_price": 0.00005,
    "currency": "$"
}

data["gpt-5-mini"] = {
    "completion_price": 0.002,
    "prompt_price": 0.00025,
    "currency": "$"
}


# 3. 一次性把整个 data 写回去
result = collection.update_one(
    {"name": "txt2txt_price_config"},
    {"$set": {"data": data}}
)
print(f"matched={result.matched_count}, modified={result.modified_count}")


query = {"name": "txt2txt_price_config"}
projection = {"_id": 0, "data": 1}

doc = collection.find_one(query, projection)


if doc:
    data_value = doc.get("data")
    print(data_value)
else:
    print("未找到 name 等于 txt2txt_price_config 的记录")