zoukankan      html  css  js  c++  java
  • python 读取单所有json数据写入mongodb(单个)

    <--------------主函数------------------->

    from pymongo import MongoClient
    from bson.objectid import ObjectId
    from read_json import read



    def mongoclient():
    client = MongoClient('127.0.0.1', 27017)
    db = client.test
    collection = db.test
    # collection.insert({})
    # for i in collection.find({"name":"乐清市东岸北段"}):
    # print(i)
    data = ('coastlines.real.json')
    find_Da = ('track')
    find_Id = ('coastlineid')
    find_Node = ('nodes_index')

    want_Data = read(data, find_Da) #传入json文件,根据关键字查询
    want_Id = read(data, find_Id)
    want_No = read(data, find_Node)
    id = {'_id': ObjectId(want_Id)}
    id_print = collection.find_one(id)
    print(id_print)

    collection.update((id), {'$set': {'track': want_Data}}) #根据ObjectID修改track
    collection.update((id), {'$push': {'nodeindex': want_No}}) #根据ObjectID添加nodeindex
    collection.update((id), {'$set': {'nodeindex': want_No}}) #根据ObjectID修改nodeindex ,去除多余的[]


    id_change = collection.find_one(id) #调出修改后的数据
    print("修改后:")
    print(id_change)




    if __name__ =='__main__':
    mongoclient()

    <---------------读取文件代码----------------------->
    import json

    def read(data, find):
    # 设置以utf-8解码模式读取文件,encoding参数必须设置,否则默认以gbk模式读取文件,当文件中包含中文时,会报错
    f = open(data, encoding='utf-8')
    setting = json.load(f)

    # 注意多重结构的读取语法
    # family = setting['BaseSettings']['font']
    style = setting[find]


    # print(family)
    return style
  • 相关阅读:
    顺序栈的基本操作(C语言)
    简单加密-维吉尼亚
    单链表的反转
    单链表的排序
    SVN信息泄露漏洞
    SQLi-labs Page-2_Less-21---Less-28a
    dedecms 任意密码重置 验证凭证回传
    ThinkCMF缓存Getshell
    ThinkCMF X2.2.0多处SQL注入漏洞
    SQLi-LABS Page-4(Challenges)
  • 原文地址:https://www.cnblogs.com/adolfmc/p/7468632.html
Copyright © 2011-2022 走看看