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

mongodb文件上傳

發布時間: 2022-10-08 12:53:23

1. 小白請教下關於SecureCRT命令後台運行

1.在用SecureCRT登陸linux終端.2.選中要放置上傳文件的路徑,在目錄下然後輸入rz命令,SecureCRT會彈出文件選擇對話框,在查找范圍中找到你要上傳的文件,按Add按鈕。然後OK就可以把文件上傳到linux上了。或者在Transfer->Zmodem Upoad list彈出文件選擇對話框,選好文件後按Add按鈕。然後OK窗口自動關閉。然後在linux下選中存放文件的目錄,輸入rz命令。

2. Mongodb在Linux 64位系統下,通過mongofiles上傳的單個文件有大小限制嗎

一樓的,MongoDB有配置文件?在哪呢?我這是頭回聽說。

建議你改用任意一種主流驅動進行上傳,如java的API,裡面有GridFS這個類,適用於管理文件系統的,這樣對於出錯的情況很容易把我,如利用try catch和writeconcern。
你這樣什麼錯誤信息都不給出,是沒辦法排查的。

3. 如何用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);
}
}

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」既可以在伺服器端生成也可以在客戶端生成,在客戶端生成可以降低伺服器端的壓力。

5. C# MongoDb MongoGridFS 存儲文件,添加自定義屬性添加不了

在MongoDB中,文檔是對數據的抽象,它被使用在Client端和Server端的交互中。所有的Client端(各種語言的Driver)都會使用這種抽象,它的表現形式就是我們常說的BSON(Binary JSON )。
BSON是一個輕量級的二進制數據格式。
MongoDB能夠使用BSON,並將BSON作為數據的存儲存放在磁碟中。
當Client端要將寫入文檔,使用查詢等等操作時,需要將文檔編碼為BSON格式,然後再發送給Server端。同樣,Server端的返回結果也是編碼為BSON格式再放回給Client端的。

6. java的話,自學很差,有什麼辦法能改善一下嗎

小白還是建你去培訓一下;
不過我們選擇培訓班,是需要根據我們情況來選擇的;
一點都不懂的小白最好的建議,先去網上看看一些學習視頻,摸索一下編程的。隨後在進行培訓方面的思考,沒有做好足夠的准備=學費白掏+厭惡編程+頹廢;

所以說學習一門專業不嚴盲目,每一門專業都不簡單,學習Java同樣也是一樣,下面我來給你說一下這篇文章——裡面是以視頻為內容的學習線路圖,分開講述啦我們需要如何學習Java編程語言。

或者從網上尋找其他的,相關於Java編程的課程等等,打好我們的基礎為培訓做准備;
分享一套學習路線,希望對你有幫助:
一、JavaSE基礎階段
面向對象編程(基礎)
面向對象編程(進階)
異常機制
Java常用類
數據結構和演算法
集合(容器)
IO流
多線程
網路編程
集合提升訓練
多線程提升訓練
二、資料庫階段
Mysql基礎
MySQL 查詢語句
資料庫對象
JDBC
反射和註解
資料庫建模和UML建模
設計模式
三、WEB前端
JavaScript
jQuery
BootStrap
Vue
四、JavaEE階段 (核心階段)
HTTP/Tomcat
MVC 架構
Servlet
JSP
EL+JSTL+過濾器+監聽器
Ajax和JSON
分頁和文件上傳/下載
五、JavaEE階段(高級框架)
Spring 5.2.2
SpringMVC 5.2.2
RBAC
EasyUI 1.7.0
支付/簡訊驗證
六、框架強化
Linux - CentOS 8
Maven
Logback
Quartz
Spring Boot 2.2.2
Shiro
Swagger
Git/GitEE
MyBatis
七、分布式架構
Zookeeper
RPC
Dubbo
Redis
Solr
RabbitMQ
FastDFS
Nginx
Spring Security
Spring Session
MyBatis Generator
Mycat
八、微服務階段
ElasticSearch
MongoDB
Spring Cloud Netflix Eureka
Spring Cloud Netflix Ribbon
Spring Cloud OpenFeign
Spring Cloud Netflix Hystrix
Spring Cloud Config
Spring Cloud Gateway
Docker
K8S
LCN
培訓班推薦你了解一下北京尚學堂,雄厚的師資以及科學的授課方式會帶給你最好的學習體驗。

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

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

8. 教你如何利用MySQL學習MongoDB之導入和導出

1、MySQL導入和導出(1)、mysqlimport此工具位於mysql/bin目錄中,是MySQL的一個載入(或者說導入)數據的一個非常有效的工具。這是一個命令行工具。有兩個參數以及大量的選項可供選擇。這個工具把一個文本文件(text file)導入到你指定的資料庫和表中。比方說我們要從文件student.txt中把數據導入到資料庫class中的表 student中:mysqlimport class.student student.txt(2)、load data infile這個命令與mysqlimport非常相似,但這個方法可以在MySQL命令行中使用。 如mysqlimport工具一樣,這個命令也有一些可以選擇的參數。比如您需要把自己的電腦上的數據導入到遠程的資料庫伺服器中,您可以使用下面的命令:Load data local infile "d:\student.txt" into table student;上面的local參數表示文件是本地的文件,伺服器是您所登陸的伺服器。這樣就省去了使用ftp來上傳文件到伺服器,mysql替你完成了。(3)、mysqlmpmysqlmp工具很多方面類似相反作用的工具mysqlimport。它們有一些同樣的選項。但mysqlmp能夠做更多的事情。它可以把整個資料庫裝載到一個單獨的文本文件中。這個文件包含有所有重建您的資料庫所需要的SQL命令。這個命令取得所有的模式並且將其轉換成DDL語法,取得所有的數據,並且從這些數據中創建INSERT語句。這個工具將您的資料庫中所有的設計倒轉。因為所有的東西都被包含到了一個文本文件中。這個文本文件可以用一個簡單的批處理和一個合適SQL語句導回到MySQL中。這個工具令人難以置信地簡單而快速。決不會有半點讓人頭疼地地方。因此,如果您像裝載整個資料庫mydb的內容到一個文件中,可以使用下面的命令:bin/mysqlmp –p mydb > mydb.txt2、MongoDB導入和導出(1)、mongoexport導出工具MongoDB提供了mongoexport工具,可以把一個collection導出成json格式或csv格式的文件。可以指定導出哪些數據項,也可以根據給定的條件導出數據。工具幫助信息如下:[root@localhost bin]# ./mongoexport --help options: --help proce help message -v [ --verbose ] be more verbose (include multiple times for more verbosity e.g. -vvvvv) -h [ --host ] arg mongo host to connect to ( /s1,s2 for sets) --port arg server port. Can also use --host hostname:port --ipv6 enable IPv6 support (disabled by default) -u [ --username ] arg username -p [ --password ] arg password --dbpath arg directly access mongod database files in the given path, instead of connecting to a mongod server - needs to lock the data directory, so cannot be used if a mongod is currently accessing the same path --directoryperdb if dbpath specified, each db is in a separate directory -d [ --db ] arg database to use -c [ --collection ] arg collection to use (some commands) -f [ --fields ] arg comma separated list of field names e.g. -f name,age --fieldFile arg file with fields names - 1 per line -q [ --query ] arg query filter, as a JSON string --csv export to csv instead of json -o [ --out ] arg output file; if not specified, stdout is used --jsonArray output to a json array rather than one object per line [root@localhost bin]# 下面我們將以一個實際的例子說明,此工具的用法:將foo庫中的表t1導出成json格式:[root@localhost bin]# ./mongoexport -d foo -c t1 -o /data/t1.json connected to: 127.0.0.1 exported 1 records [root@localhost bin]# 導出成功後我們看一下/data/t1.json文件的樣式,是否是我們所希望的:[root@localhost data]# more t1.json { "_id" : { "$oid" : "4f927e2385b7a6814a0540a0" }, "age" : 2 } [root@localhost data]# 通過以上說明導出成功,但有一個問題,要是異構資料庫的遷移怎麼辦呢?

9. 如何讀取富文本中的內容然後存到mongodb中

界面代碼

<img src="@ViewData["html"]" />

作為測試代碼,我就在界面上面寫了一個image框,用來顯示從MongoDB資料庫中讀取出來的圖片。

HomeController代碼

public ActionResult Index() { ViewData["html"] = "/MongodbHelp/ProcessRequest?actions=DOWNLOAD&value=lf.png"; return View(); }

後面的代碼組成相信凡是接觸過MVC的讀者都能看懂這個東西,後面我就直接寫死了一個圖片的名稱。

MongodbHelpController

連接資料庫的方法

private static MongoDatabase DB; public static string fileTable = "fs";//資料庫中的表名稱 //Sets up the environment. public void Init() {
//我們可以在配置文件中讀取 string ConnectionString = "127.0.0.1"; //ConfigurationManager.AppSettings["mondoDbConnection"]; if (String.IsNullOrEmpty(ConnectionString)) { throw new ArgumentNullException("Connection string not found."); } MongoServerSettings mongoSetting = new MongoServerSettings(); mongoSetting.MaxConnectionPoolSize = 15000;//設定最大連接池 mongoSetting.WaitQueueSize = 500;//設定等待隊列數 mongoSetting.Server = new MongoServerAddress(ConnectionString, 27017); int count = MongoServer.MaxServerCount; MongoServer server = MongoServer.Create(mongoSetting);//創建連接數據文件 DB = server.GetDatabase("local");//創建資料庫連接 }

用來判斷我們進行的方法是哪一個,上傳文件還是下載文件,在這只給大家介紹下載的方法;

public void ProcessRequest() { Init();//initialize the mongo string action = Request.QueryString["actions"]; switch (action) { case "LIST": GetFileList(); break; //獲取文件列表 case "UPLOAD": Upload(); break; //上傳文件 case "DELETE": Delete(); break;//刪除文件 case "DOWNLOAD": DownFile(); break; //下載文件 } }

下載文件的類

//下載文件 public void DownFile() { string filename = Request.QueryString["value"]; Response.ContentType = "application/octet-stream"; //context.Response.ContentType = "audio/mpeg"; Response.AddHeader("Content-Disposition", "attachment; filename=" + filename); MongoGridFSSettings fsSetting = new MongoGridFSSettings() { Root = fileTable }; MongoGridFS fs = new MongoGridFS(DB, fsSetting); MongoGridFSFileInfo gfInfo = new MongoGridFSFileInfo(fs, filename); //方法一,很簡潔 fs.Download(Response.OutputStream, filename); Response.End(); }

通過這幾段代碼,我們就輕松的完成MongoDB數據的文件讀取操作。

熱點內容
db2資料庫別名 發布:2024-10-08 08:19:02 瀏覽:238
如何更換安卓系統時鍾 發布:2024-10-08 08:12:54 瀏覽:395
電腦創建伺服器軟體 發布:2024-10-08 08:12:47 瀏覽:476
如何防微信惡意找回密碼 發布:2024-10-08 08:01:58 瀏覽:812
aspnet存儲過程分頁 發布:2024-10-08 08:01:47 瀏覽:460
王者安卓怎麼拍高清視頻教程 發布:2024-10-08 07:57:04 瀏覽:262
酒吧燈光編程 發布:2024-10-08 07:52:42 瀏覽:8
別克英朗買15哪個配置好 發布:2024-10-08 07:43:38 瀏覽:237
android安裝sdk 發布:2024-10-08 07:42:41 瀏覽:328
qq空間音樂緩存 發布:2024-10-08 07:05:49 瀏覽:738