MongoDB 将Json数据直接写入MongoDB的方法
2024-08-29 14:00:51
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", ); 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", ); MongoDatabase database = mongoClient.getDatabase("dbName"); MongoCollection<Document> collection = database.getCollection("collectionName"); Document document = Document.parse(json); collection.insertOne(document );
最新文章
- if..elif语句
- Jsoup Element网页信息采集
- iOS获取当前app的名称和版本号
- NavMesh名字、层索引、层值之间的转换
- windows API 开发飞机订票系统 图形化界面 (一)
- jQuery DOM基础
- Delphi调用webservice总结
- Javascript关闭详细说明
- CentOS 6.3 安装 samba 共享(转)
- div显示和隐藏
- Myeclipse 10 for mac 破解版下载安装及破解方法
- 组件之间使用Prop传递数据
- 无法远程连接服务器上的mysql
- AI 学习新的开始
- weblogic AND jboss 反序列化漏洞
- DB Query Analyzer 6.02 is released, 71 articles concerned have been published
- 【原创】Windows平台下Git的安装与配置
- 消息队列——ActiceMQ
- 阿里云轻量级服务器上JDK及tomcat部署配置
- svn初涉及使用
热门文章
- Unity3d通用工具类之解压缩文件
- android非法字符的判定、表情符号的判定
- $(";#XXX";).click()和$(";#YYY";).on(";click";,";指定的元素";,function(){});的区别(jQuery动态绑定事件)
- easyui 消息提示框
- osx的10款文本编辑器
- Weblogic常见故障之二:XAER_NOTA XAException问题的解决
- Android LayoutInflater布局填充器
- vue项目配置使用flow类型检查
- CCPlatformConfig(设置执行平台 iOS android win32等。。。)
- css position: relative | absolute | static | fixed详解