MongoDB 将Json数据直接写入MongoDB的方法
Json转Bson
MongoDB中是以Bson数据格式进行存储的,Json字符串没有办法直接写入MongoDB 可以将Json字符串转换成DBObject或者Document,然后写入MongoDB
1、将Json字符转换成com.mongodb.DBObject(准确的说是BasicDBObject)
scala版本
import com.mongodb.DBObject import com.mongodb.casbah.{MongoClient, MongoCollection} import com.mongodb.util.JSON// 构造一个Json字符串 val json = s"""{| "school_code" : "${school_code}",| "school_name" : "${school_name}",| "teacher_idcard" : "${teacher_idcard}",| "teacher_name" : "${teacher_name}"|}|""".stripMargin val collection: MongoCollection = MongoClient("10.4.120.83")("dbName")("collectionName")val bson: DBObject = JSON.parse(json).asInstanceOf[DBObject]collection.insert(bson) // mongodb casbah的写法
java版本
import com.mongodb.MongoClient; import com.mongodb.DBObject; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.util.JSON;// 构造一个Json字符串 String json = " {" +" 'school_code' : '111111', " +" 'school_name' : '汉东政法大学', " +" 'teacher_idcard' : '0000001', " +" 'teacher_name' : '高育良' " +" } ";MongoClient mongoClient = new MongoClient("10.4.120.83", 27017);MongoDatabase database = mongoClient.getDatabase("dbName");MongoCollection<DBObject> collection = database.getCollection("collectionName", DBObject.class); DBObject bson = (DBObject)JSON.parse(json);collection.insertOne(bson);
2、将字符串转换成org.bson.Document
scala版本
import org.bson.Document import com.mongodb.casbah.{MongoClient, MongoCollection} import com.mongodb.util.JSON;// 构造一个Json字符串 val json = s"""{| "school_code" : "${school_code}",| "school_name" : "${school_name}",| "teacher_idcard" : "${teacher_idcard}",| "teacher_name" : "${teacher_name}"|}|""".stripMargin val document:Document = Document.parse(json)// 注意!com.mongodb.casbah.MongoCollection只支持写DBObject的子类, // 不支持写入Document类的对象,可以使用com.mongodb.client.MongoCollection // 写入Document类的对象,这里能写入是因为用了自定义的隐式转换函数,将 // Document转换成了DBObject// 自定义的隐式转换函数 implicit def document2DBObject(doc: Document): DBObject = JSON.parse(doc.toJson).asInstanceOf[DBObject]val collection: MongoCollection = MongoClient("10.4.120.83")("dbName")("collectionName")collection.insert(document)
Java版本
import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase;// 构造一个Json字符串 String json = " {" +" 'school_code' : '111111', " +" 'school_name' : '汉东政法大学', " +" 'teacher_idcard' : '0000001', " +" 'teacher_name' : '高育良' " +" } ";MongoClient mongoClient = new MongoClient("10.4.120.83", 27017);MongoDatabase database = mongoClient.getDatabase("dbName");MongoCollection<Document> collection = database.getCollection("collectionName"); Document document = Document.parse(json);collection.insertOne(document );
MongoDB 将Json数据直接写入MongoDB的方法相关推荐
- mongodb mysql json数据_使用MongoDB与MySQL有很多JSON字段?
所以,直接回答问题- Shall we chose mongodb if half of data is schemaless, and is being stored as JSON if usin ...
- python使用selenium爬取斗鱼房间数据并写入mongodb数据库
本篇文章是对之前斗鱼爬虫的修改,将爬取到的数据直接写入mongodb数据库中 (今天学习到mongodb) from selenium import webdriver import time fro ...
- python json 转csv_利用python将json数据转换为csv格式的方法
假设.json文件中存储的数据为: {"type": "Point", "link": "http://www.dianping. ...
- python读取数据库数据、并保存为docx_Python从数据库读取大量数据批量写入文件的方法...
Python从数据库读取大量数据批量写入文件的方法 使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存. 下面是代码作用是将数据 ...
- Python从数据库读取大量数据批量写入文件的方法
今天小编就为大家分享一篇Python从数据库读取大量数据批量写入文件的方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将 ...
- python批量读取文件内容_Python从数据库读取大量数据批量写入文件的方法
使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存. 下面是代码作用是将数据从数据库读取出来分批次写入txt文本文件,方便我们做 ...
- MVC中利用ViewBag传递Json数据时的前端处理方法
** MVC中利用ViewBag传递Json数据时的前端处理方法 ** 用viewBag传递Json字符串到前端时,json字符串中的"会被转义为& quot,前端处理方法为@Htm ...
- MongoDB导入json数据
json数据 在终端输入导入命令: mongoimport --db dbName --collection collectionName --file filePath 实际具体命令: mongoi ...
- 导入json数据到Elasticsearch(bulk方法)
一.前言 在前面几章,基本把本地的环境给配置好了,那么配置好了之后,要做的第一件事当然就是导入数据进去.我这边准备的是一份json数据,这里通过ES的bulk API给导入进去. 二.导入数据 1.批 ...
- Gson转换 — json数据转换为Object实体公共方法
Gson转换 - json数据转换为Object实体 最近在做远程接口调用时,需要对数据进行加解密,因此返回的参数统一为以下json格式 {"code":0,"msg&q ...
最新文章
- 还在写大量 if 来判断?试试用一个规则执行器来替代它
- 如何应对多GPU大规模训练的挑战?
- 走近分形与混沌(part1)--分形是趋于无穷的极限,是画不出来的
- 201计算机基础知识,201年计算机应用基础备考练习题及答案
- Pose Get的区别
- Windows -- Qt不能进行调试 -- Unknown debugger type No Engine
- php 批量打印word pdf,Office批量打印精灵教程--Word、PDF、Excel、PPT批量打印
- mhdd测试硬盘软件,mhdd硬盘检测工具
- js给页面添加随机像素噪声背景
- LInux 的流量限制
- element-ui的文本框 input加㎡平方米符号
- Buy and Resell hdu-6438 贪心 优先队列
- note2刷 android 5.0.2,三星Galaxy Note Pro 12.2 Android 5.0.2更新锁定了竞争对手的键盘
- web课程设计网页规划与设计:旅游网页主题网站设计——酒店主题绿色温泉度假酒店网页设计(8页)HTML+CSS+JavaScript
- Linux新世纪五笔
- windows下配置公私钥
- 最优化方法1——各类拓扑空间与强弱紧集、下半收敛问题
- 报错Failure executing javac, but could not parse the error原因分析
- c语言出现开头结尾多空格,C语言除去字符串开头和末尾空格之trim()函数的实现...
- STM32(Cortex-M3)中的优先级概念