當前位置:首頁 » 文件管理 » mongodb上傳文件

mongodb上傳文件

發布時間: 2022-09-18 13:17:47

㈠ 怎樣向MongoDB中導入Json文件

mongoimport -h 伺服器地址 --port 27017(埠號,依情況定) -d 資料庫名 -c 集合名 --upsert --file json文件路徑

註:有時json文件存在編碼問題(帶中文的,怎麼設置utf-8還沒搞懂)。

可在mongodb的bin下用help查看mongoimport查看具體用法

—————————————分割線2018.8.4———————————————

關於包含中文的,用notepad++打開,然後選擇「編碼」——「UTF—8 BOM編碼」,保存即可。(也可試用UTF-8編碼)

㈡ Mongodb能導入txt文件嗎

python 訪問 mongodb 需要先安裝 pymongo,如下: pip install pymongo txt 文件格式: 代碼如下: #coding=utf-8from pymongo import MongoClientconn = MongoClient('127.0.0.1', 27017)# 連接 test 資料庫,沒有則自動創建db = conn.test # 使用 students 集合,沒有則自動創建students = db.students# 打開學生信息文件, 並將數據存入到資料庫with open('students.txt', 'r') as f: for line in f.readlines(): # 分割學生信息 items = line.strip('\r').strip('\n').split(',') # 添加到資料庫 students.insert({ 'stu_id': items[0], 'name': items[1], 'grade': int(items[2]) })# 資料庫查詢學生信息並列印出來for s in students.find(): print(s)

㈢ 如何用spring集成mongodb實現文件上傳

Spring Security的相關配置: 1、建一個web project,並導入所有需要的lib 2、配置web.xml,使用Spring的機制裝載: 3、來看看applicationContext.xml這個配置文件,關於Spring的基本配置和 Spring Security和的配置均在其中: 4、這些基本配置...

㈣ 如何保證文檔內容唯一 mongodb

在MongoDB中,如果不特別指定,每個文檔都會生成一個唯一的ObjectId作為其主鍵_id的值。這個值是一個看似隨機的串。這個串到底是什麼值?為什麼MongoDB要使用這個值作為默認主鍵?它內部又包含了什麼樣的信息?如果你還不了解,就請看下面文章吧。

MongoDB中數據的基本單元稱為文檔(Document)。文檔是MongoDB的核心概念,多個鍵極其關聯的值有序的放置在一起便是文檔。

在一個特定集合內部,需要唯一的標識文檔。因此MongoDB中存儲的文檔都由一個」_id」鍵,用於完成此功能。這個鍵的值可以是任意類型的,默認試ObjectId對象。ObjectId對象的生成思路是本文的主題,也是很多分布式系統可以借鑒的思路。

為了考慮分布式,「_id」要求不同的機器都能用全局唯一的同種方法方便的生成它。因此不能使用自增主鍵(需要多台伺服器進行同步,既費時又費力),因此選用了生成ObjectId對象的方法。

ObjectId使用12位元組的存儲空間,其生成方式如下:

0 1 2 3 4 5 6 7 8 9 10 11
時間戳 機器ID PID 計數器
前四個位元組時間戳是從標准紀元開始的時間戳,單位為秒,有如下特性:

時間戳與後邊5個位元組一塊,保證秒級別的唯一性;
保證插入順序大致按時間排序;
隱含了文檔創建時間;
機器ID是伺服器主機標識,通常是機器主機名的散列值。

同一台機器上可以運行多個mongod實例,因此也需要加入進程標識符PID。

前9個位元組保證了同一秒鍾不同機器不同進程產生的ObjectId的唯一性。後三個位元組是一個自動增加的計數器(一個mongod進程需要一個全局 的計數器),保證同一秒的ObjectId是唯一的。同一秒鍾最多允許每個進程擁有(256^3 = 16777216)個不同的ObjectId。

總結一下:時間戳保證秒級唯一,機器ID保證設計時考慮分布式,避免時鍾同步,PID保證同一台伺服器運行多個mongod實例時的唯一性,最後的計數器保證同一秒內的唯一性(選用幾個位元組既要考慮存儲的經濟性,也要考慮並發性能的上限)。

「_id」既可以在伺服器端生成也可以在客戶端生成,在客戶端生成可以降低伺服器端的壓力。

㈤ 如何用spring集成mongodb實現文件上傳

首先要把必要的MongoDB需要的jar加進項目中
定義mongoDB的bean
[html] view plain
<bean id="mongoClient" class="com.mongodb.MongoClient">
<constructor-arg index="0" type="java.lang.String" name="host" value="127.0.0.1" />
<constructor-arg index="1" type="int" name="port" value="27017" />
</bean>
自定義實現mongodb增刪改實體類
[html] view plain
<bean id="mongoDB" class="com.test.MongoDB">
<property name="mongoClient" ref="mongoClient" />
<property name="dbName" value="orcl" />
</bean>
定義mongoClient基礎類
[java] view plain
public class MongoDB {
private MongoClient mongoClient;
private String dbName;
/**
* 獲取名為dbName資料庫
*
* @return
*/
public DB getDB() {
return mongoClient.getDB(dbName);
}
public MongoClient getMongoClient() {
return mongoClient;
}
public void setMongoClient(MongoClient mongoClient) {
this.mongoClient = mongoClient;
}
public String getDbName() {
return dbName;
}
public void setDbName(String dbName) {
this.dbName = dbName;
}
}
定義mongodb操作Dao類
[java] view plain
/**
* 增
*
* @param bean
* @return
*/
public T save(T bean) {
String beanJson = JsonUtil.getJSONString(bean);
DBCollection collection = mongoDB.getDB().getCollection(clazz.getSimpleName());
collection.save((DBObject)JSON.parse(beanJson));
return bean;
}
/**
* 刪
* @param id
*/
public void remove(String id) {
DBCollection collection = mongoDB.getDB().getCollection(clazz.getSimpleName());
BasicDBObject doc = new BasicDBObject();
doc.put("_id", id);
collection.remove(doc);
}
/**
* 改
* @param query
* @param newDoc
*/
public void update(BasicDBObject query, BasicDBObject newDoc) {
DBCollection collection = mongoDB.getDB().getCollection(clazz.getSimpleName());
collection.update(query, newDoc);
}
定義保存文件類
[java] view plain
/**
* 保存文件到MongoDB GridFS
*
* @param in - 需要保存文件的輸入流
* @param id - 需要保存文件的唯一ID
* @param fileName - 需要保存文件的文件名
* @param contentType - 需要保存文件的文件類型
* @param downloadName - 需要保存文件被下載時的文件名
*/
public void save(InputStream in, String id, String fileName, String contentType, String downloadName) {
GridFS fs = new GridFS(mongoDB.getDB(), this.getClass().getSimpleName());
GridFSInputFile fsFile = fs.createFile(in);
fsFile.setId(id);
fsFile.setFilename(fileName);
fsFile.setContentType(contentType);
fsFile.put("downloadName", downloadName);
fsFile.save();
}
/**
* 從MongoDB GridFS文件系統中刪除指定ID的文件
*
* @param id
*/
public void remove(String id) {
GridFS fs = new GridFS(mongoDB.getDB(), this.getClass().getSimpleName());
BasicDBObject query = new BasicDBObject("_id", id);
fs.remove(query);
}
/**
* 從MongoDB GridFS文件系統中批量刪除指定ID的文件
* @param ids
*/
public void batchRemove(String... ids) {
GridFS fs = new GridFS(mongoDB.getDB(), this.getClass().getSimpleName());
for(String id : ids){
BasicDBObject query = new BasicDBObject("_id", id);
fs.remove(query);
}
}

㈥ 怎樣向MongoDB中導入Json文件

mongodb導入json格式的文件的命令是mongoimport:

在下面的這個例子中,使用mongoimport命令將文件contacts.json中的內容導入user資料庫的contacts的數據表中。

mongoimport --db users --collection contacts --file contacts.json

具體過程演示如下:

切換到mongodb安裝的bin目錄下,啟動服務

./mongod --dbpath /home/test/ --logpath /home/test/log/xushuai.log --fork1

㈦ mongodb 怎麼把文件導入進去

  • 打開MongoChef並連接上MongoDB資料庫,如下圖所示:

熱點內容
linux圖形系統 發布:2024-10-10 18:45:40 瀏覽:802
農業溯源碼 發布:2024-10-10 18:44:53 瀏覽:841
rec320是哪個安卓版本 發布:2024-10-10 18:44:02 瀏覽:859
無腳本的藝人節目 發布:2024-10-10 18:26:55 瀏覽:396
安卓手機如何變成大屏幕 發布:2024-10-10 18:26:55 瀏覽:675
餐館許可證編號密碼是什麼 發布:2024-10-10 18:17:52 瀏覽:270
我的世界網易電腦版怎麼玩手機伺服器 發布:2024-10-10 18:06:16 瀏覽:29
客戶伺服器怎麼調查 發布:2024-10-10 17:56:05 瀏覽:36
軟體反編譯教程 發布:2024-10-10 17:50:14 瀏覽:13
uc瀏覽器android 發布:2024-10-10 17:50:13 瀏覽:17