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

Python + MongoDB, how to dynamically choose DB Collection

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

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

# 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({...}),而是想以某种方式引用给定的 sensor/collection 名称。

谢谢

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

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

给定数据列表,您会这样做,这将根据数据的 sensorName 属性将文档插入正确的集合中:

    for data in data_list:
        db[data["sensorName"]].insert_one({...})