当前位置:Gxlcms > 数据库问题 > MongoDB 将Json数据直接写入MongoDB的方法

MongoDB 将Json数据直接写入MongoDB的方法

时间:2021-07-01 10:21:17 帮助过:12人阅读

// 构造一个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版本

  1. <span style="color: #000000;">import com.mongodb.MongoClient;
  2. import com.mongodb.DBObject;
  3. import com.mongodb.client.MongoCollection;
  4. import com.mongodb.client.MongoDatabase;
  5. import com.mongodb.util.JSON;
  6. </span><span style="color: #008000;">//</span><span style="color: #008000;"> 构造一个Json字符串</span>
  7. String json = <span style="color: #800000;">"</span><span style="color: #800000;"> {</span><span style="color: #800000;">"</span> +
  8. <span style="color: #800000;">"</span><span style="color: #800000;"> ‘school_code‘ : ‘111111‘, </span><span style="color: #800000;">"</span> +
  9. <span style="color: #800000;">"</span><span style="color: #800000;"> ‘school_name‘ : ‘汉东政法大学‘, </span><span style="color: #800000;">"</span> +
  10. <span style="color: #800000;">"</span><span style="color: #800000;"> ‘teacher_idcard‘ : ‘0000001‘, </span><span style="color: #800000;">"</span> +
  11. <span style="color: #800000;">"</span><span style="color: #800000;"> ‘teacher_name‘ : ‘高育良‘ </span><span style="color: #800000;">"</span> +
  12. <span style="color: #800000;">"</span><span style="color: #800000;"> } </span><span style="color: #800000;">"</span><span style="color: #000000;">;
  13. MongoClient mongoClient </span>= <span style="color: #0000ff;">new</span> MongoClient(<span style="color: #800000;">"</span><span style="color: #800000;">10.4.120.83</span><span style="color: #800000;">"</span>, <span style="color: #800080;">27017</span><span style="color: #000000;">);
  14. MongoDatabase database </span>= mongoClient.getDatabase(<span style="color: #800000;">"</span><span style="color: #800000;">dbName</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  15. MongoCollection</span><DBObject> collection = database.getCollection(<span style="color: #800000;">"</span><span style="color: #800000;">collectionName</span><span style="color: #800000;">"</span>, DBObject.<span style="color: #0000ff;">class</span><span style="color: #000000;">);
  16. DBObject bson </span>=<span style="color: #000000;"> (DBObject)JSON.parse(json);
  17. collection.insertOne(bson);</span>

2、将字符串转换成org.bson.Document

scala版本

  1. <span style="color: #000000;">import org.bson.Document
  2. import com.mongodb.casbah.{MongoClient, MongoCollection}
  3. import com.mongodb.util.JSON;
  4. </span><span style="color: #008000;">//</span><span style="color: #008000;"> 构造一个Json字符串</span>
  5. val json = s<span style="color: #800000;">"""</span><span style="color: #800000;">{</span>
  6. | <span style="color: #800000;">"</span><span style="color: #800000;">school_code</span><span style="color: #800000;">"</span> : <span style="color: #800000;">"</span><span style="color: #800000;">${school_code}</span><span style="color: #800000;">"</span><span style="color: #000000;">,
  7. </span>| <span style="color: #800000;">"</span><span style="color: #800000;">school_name</span><span style="color: #800000;">"</span> : <span style="color: #800000;">"</span><span style="color: #800000;">${school_name}</span><span style="color: #800000;">"</span><span style="color: #000000;">,
  8. </span>| <span style="color: #800000;">"</span><span style="color: #800000;">teacher_idcard</span><span style="color: #800000;">"</span> : <span style="color: #800000;">"</span><span style="color: #800000;">${teacher_idcard}</span><span style="color: #800000;">"</span><span style="color: #000000;">,
  9. </span>| <span style="color: #800000;">"</span><span style="color: #800000;">teacher_name</span><span style="color: #800000;">"</span> : <span style="color: #800000;">"</span><span style="color: #800000;">${teacher_name}</span><span style="color: #800000;">"</span>
  10. |<span style="color: #000000;">}
  11. </span>|<span style="color: #800000;">"""</span><span style="color: #800000;">.stripMargin</span>
  12. <span style="color: #000000;">
  13. val document:Document </span>=<span style="color: #000000;"> Document.parse(json)
  14. </span><span style="color: #008000;">//</span><span style="color: #008000;"> 注意!com.mongodb.casbah.MongoCollection只支持写DBObject的子类,
  15. </span><span style="color: #008000;">//</span><span style="color: #008000;"> 不支持写入Document类的对象,可以使用com.mongodb.client.MongoCollection
  16. </span><span style="color: #008000;">//</span><span style="color: #008000;"> 写入Document类的对象,这里能写入是因为用了自定义的隐式转换函数,将
  17. </span><span style="color: #008000;">//</span><span style="color: #008000;"> Document转换成了DBObject
  18. </span><span style="color: #008000;">//</span><span style="color: #008000;"> 自定义的隐式转换函数</span>
  19. <span style="color: #0000ff;">implicit</span> def document2DBObject(doc: Document): DBObject =<span style="color: #000000;"> JSON.parse(doc.toJson).asInstanceOf[DBObject]
  20. val collection: MongoCollection </span>= MongoClient(<span style="color: #800000;">"</span><span style="color: #800000;">10.4.120.83</span><span style="color: #800000;">"</span>)(<span style="color: #800000;">"</span><span style="color: #800000;">dbName</span><span style="color: #800000;">"</span>)(<span style="color: #800000;">"</span><span style="color: #800000;">collectionName</span><span style="color: #800000;">"</span><span style="color: #000000;">)
  21. collection.insert(document)</span>

Java版本

  1. <span style="color: #000000;">import org.bson.Document;
  2. import com.mongodb.MongoClient;
  3. import com.mongodb.client.MongoCollection;
  4. import com.mongodb.client.MongoDatabase;
  5. </span><span style="color: #008000;">//</span><span style="color: #008000;"> 构造一个Json字符串</span>
  6. String json = <span style="color: #800000;">"</span><span style="color: #800000;"> {</span><span style="color: #800000;">"</span> +
  7. <span style="color: #800000;">"</span><span style="color: #800000;"> ‘school_code‘ : ‘111111‘, </span><span style="color: #800000;">"</span> +
  8. <span style="color: #800000;">"</span><span style="color: #800000;"> ‘school_name‘ : ‘汉东政法大学‘, </span><span style="color: #800000;">"</span> +
  9. <span style="color: #800000;">"</span><span style="color: #800000;"> ‘teacher_idcard‘ : ‘0000001‘, </span><span style="color: #800000;">"</span> +
  10. <span style="color: #800000;">"</span><span style="color: #800000;"> ‘teacher_name‘ : ‘高育良‘ </span><span style="color: #800000;">"</span> +
  11. <span style="color: #800000;">"</span><span style="color: #800000;"> } </span><span style="color: #800000;">"</span><span style="color: #000000;">;
  12. MongoClient mongoClient </span>= <span style="color: #0000ff;">new</span> MongoClient(<span style="color: #800000;">"</span><span style="color: #800000;">10.4.120.83</span><span style="color: #800000;">"</span>, <span style="color: #800080;">27017</span><span style="color: #000000;">);
  13. MongoDatabase database </span>= mongoClient.getDatabase(<span style="color: #800000;">"</span><span style="color: #800000;">dbName</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  14. MongoCollection</span><Document> collection = database.getCollection(<span style="color: #800000;">"</span><span style="color: #800000;">collectionName</span><span style="color: #800000;">"</span><span style="color: #000000;">);
  15. Document document </span>=<span style="color: #000000;"> Document.parse(json);
  16. collection.insertOne(document );</span>

 

MongoDB 将Json数据直接写入MongoDB的方法

标签:doc   teacher   行存储   com   cli   name   getc   隐式转换函数   client   

人气教程排行