【问题标题】:How to insert arange values to pymongo如何将范围值插入 pymongo
【发布时间】:2020-04-04 08:26:04
【问题描述】:

大家好,我正在尝试上传我在 numpy 中使用 arange 生成的特定地点的坐标。现在我想将所有这些生成的值上传到 mongo atlas。从下面的代码中,我一次可以上传 1 个值。但我需要帮助来一次上传所有生成的 lat。非常感谢您的回答

import pymongo
from pymongo import MongoClient

cluster = MongoClient("mongodb+srv://<username><pass>@cluster0-tcuuq.mongodb.net/test?retryWrites=true&w=majority")
db = cluster["dbname"]
collection = db["collection_name"]

post = { 'Lat': 12.941313}

collection.insert_one(post)

我正在生成如下所示的纬度值

a = np.arange(12.941313, 12.941466, 0.000001)
a_float = [float("{:.6f}".format(lat)) for lat in a]

【问题讨论】:

    标签: python python-3.x mongodb pymongo mongodb-atlas


    【解决方案1】:

    你可以看看 pymongo doc 和集合中的 insert_many 函数

    将帖子替换为包含您的值的字典数组,并在帖子上使用 insert_many 而不是 insert_one

    posts = [{'Lat': your lat 1} <all your lats>]
    collection.insert_many(posts)
    

    【讨论】:

    • 感谢@R.LM 的回复。因为我有超过 100 个值要填充,所以需要很多时间。我也需要上传Long。有什么方法可以让我使用 arange 将“Lat”这个词映射到生成的 Lat
    • 尝试使用 python 内联函数,如 post = [{'Lat': af} for af in a_float]。如果我的答案看起来也不错,您可以在我的答案上打勾来接受它
    猜你喜欢
    • 1970-01-01
    • 2019-12-25
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 2021-02-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多