Python + MongoDB,如何动态选择DB Collection

问题描述 投票:0回答:1

如何使用Python动态指向MongoDB中的特定集合名称?

我从网络中的几十个传感器中的任何一个接收数据,并且我想将原始数据存储到以传感器命名的db集合中。

# Server Parameters
host = '1.2.3.4'
port = 27017
client = MongoClient(host, port)
db = client.myDB                # use database myDB

# receive data from sensors
# {"sensorName":"...", "x":"...", "y":"...", "z":"...", "time":"..."}

db.SensorA.insert_one({...})    # record raw data in the collection for SensorA
db.SensorB.insert_one({...})
db.SensorC.insert_one({...})

我没有明确地写db.SensorName.insert_one({...}),而是想以某种方式引用给定的传感器/集合名称。

谢谢

python mongodb reflection collections introspection
1个回答
1
投票

您也可以使用以下语法引用集合名称:

    db["SensorA"].insert_one({...})

你会这样做,给定一个数据列表,这将根据数据的sensorName属性将文档插入到适当的集合中:

    for data in data_list:
        db[data["sensorName"]].insert_one({...})
© www.soinside.com 2019 - 2024. All rights reserved.