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 的记录")
|