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", ); 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 );
MongoDB 将Json数据直接写入MongoDB的方法的更多相关文章
- 10.MongoDB:将Json数据直接写入MongoDB的方法
Json转Bson MongoDB中是以Bson数据格式进行存储的,Json字符串没有办法直接写入MongoDB 可以将Json字符串转换成DBObject或者Document,然后写入MongoDB ...
- 批量插入数据, 将DataTable里的数据批量写入数据库的方法
大量数据导入操作, 也就是直接将DataTable里的内容写入到数据库 通用方法: 拼接Insert语句, 好土鳖 1. MS Sql Server: 使用SqlBulkCopy 2. MySql ...
- ASP输出JSON数据及客户端jQuery处理方法
首先ASP处理JSON需要json官方提供的JSON For ASP 封装类文件,下载地址:http://code.google.com/p/aspjson/downloads/list 下载最新的J ...
- 三、用Delphi10.3 创建一条JSON数据的第三种方法,非常简洁的写法
一.用Delphi10.3构造一个JSON数据的第三种方法,并格式化输出,代码如下: uses // System.JSON, System.JSON.Types, System.JSON.Write ...
- nodejs读取json文件,写入mongodb数据库
最近又一点时间,开始使用mongodb存储json模型文件,然后可以实现模型文件的在线编辑和管理.今天上午实现了json文件入库的代码,如下: var fs=require("fs" ...
- 生成JSON数据--fastjson(阿里)方法
fastjson(阿里)方法生成JSON数据: 与Gson类似,创建相应类,再使用JSON.toJSONString()添加对象 要求:生成如下JSON数据 1.{"age":3, ...
- 生成JSON数据--Gson(谷歌)方法
Gson生成JSON数据方法: 创建相应的类,然后创建对象,toJson()进去就可以了 要求:生成如下JSON数据 1.{"age":4,"name":&qu ...
- Android中Json数据读取与创建的方法
转自:http://www.jb51.net/article/70875.htm 首先介绍下JSON的定义,JSON是JavaScript Object Notation的缩写. 一种轻量级的数据交换 ...
- IOS - JSON数据解析 小3种方法
[manager GET:serverURL parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject ...
随机推荐
- Android 垃圾回收,用软引用建立缓存
内存对于手机来说是非常重要的. 下面总结了我们在注意创建对象时的规则,以及怎么更好更快的实行GC回收,和怎么构建高速的对象cace缓冲. 1 避免循环遍历的创建对象,哪怕对象很小,也是要占资源的. 2 ...
- JS isNaN()函数
1.作用 isNaN() 函数用于检查其参数是否是非数字值. 2.JS <script> document.write(isNaN(123)); document.write(isNaN( ...
- CDK安装
1.下载cdk https://developers.redhat.com/products/cdk/download/ 2.在mac OS上更名并加入目录 $ mkdir -p ~/bin $ cp ...
- linux安装ping
https://www.cnblogs.com/iamdevops/p/5743157.html 使用docker仓库下载的ubuntu 14.04 镜像.里面精简的连 ping 命令都没有.goog ...
- nginx安装和配置
一.安装:yum install nginx service nginx restart/start/check/status/... 二.配置:官网文档 http://nginx.org/en/do ...
- hdu 1244 DP
水DP dp[i%2][j]=Max(dp[i%2][j-1],dp[1-i%2][j-l[i]]+sum[j]-sum[j-l[i]]); #include "stdio.h" ...
- Spark学习视频整合
1.<Scala深入浅出实战经典>http://pan.baidu.com/s/1pJnAUr5 2.<Spark纯实战公益大讲坛>http://pan.baidu.com/s ...
- ASP.NET MVC & Web API Brief Introduction
Pure Web Service(ASMX): Starting back in 2002 with the original release of .NET, a developer could f ...
- C++11 可变参数模板构造string列表
#include <iostream> #include <cstdint> #include <list> #include <string> tem ...
- Django 学习记录
这是我自己理解并自己画的,django 请求示意图,表示了它的组织方式. project manage.py: 主要工具文件 settings.py: 配置文件 urls.py: url 定义及其指向 ...