【问题标题】:Python + MongoDB, how to dynamically choose DB CollectionPython + MongoDB,如何动态选择 DB Collection
【发布时间】:2019-01-19 03:33:06
【问题描述】:

如何使用 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({...}),而是想以某种方式引用给定的传感器/集合名称。

谢谢

【问题讨论】:

    标签: python mongodb reflection collections introspection


    【解决方案1】:

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

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

    如果给出一个数据列表,您会这样做,这将根据数据的 sensorName 属性将文档插入到正确的集合中:

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

    【讨论】:

      猜你喜欢
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-13
      相关资源
      最近更新 更多