当前位置:首页 » 文件管理 » 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数据库,如下图所示:

热点内容
餐馆许可证编号密码是什么 发布:2024-10-10 18:17:52 浏览:269
我的世界网易电脑版怎么玩手机服务器 发布:2024-10-10 18:06:16 浏览:28
客户服务器怎么调查 发布:2024-10-10 17:56:05 浏览:35
软件反编译教程 发布:2024-10-10 17:50:14 浏览:12
uc浏览器android 发布:2024-10-10 17:50:13 浏览:16
字母大小写编程 发布:2024-10-10 17:25:40 浏览:632
安卓大陆用户怎么玩传说对决 发布:2024-10-10 17:11:56 浏览:432
上传照片登录 发布:2024-10-10 17:00:27 浏览:829
用友nc服务器的ip地址是什么 发布:2024-10-10 17:00:27 浏览:293
云服务器双线 发布:2024-10-10 16:52:18 浏览:164