win下MongoDB使用

摘要:
=值● 包括和排除//查询文档db.spit。查找其中烘焙集中的userid字段包含1013和1014。//查询文档db.spit。烤盘集中的userid字段不包含1013和1014的fin

● 安装

win下MongoDB使用第1张

win下MongoDB使用第2张

● 启动

1、创建几个文件夹具体如下:数据库路径(data目录)、日志路径(logs目录)和日志文件(mongo.log文件)

win下MongoDB使用第3张

2、创建配置文件mongo.conf,文件内容如下:

#数据库路径 dbpath=d:MongoDBServer3.4data

#日志输出文件路径 logpath=d:MongoDBServer3.4logsmongo.log

#错误日志采用追加模式 logappend=true

#启用日志文件,默认启用 journal=true

#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false quiet=true

#端口号 默认为27017 port=27017

3、通过执行bin/mongod.exe,使用--install选项来安装服务,使用--config选项来指定之前创建的配置文件。 cmd进 入d:MongoDBServer3.4in

注意是mongod.exe而不是mongo.exe

mongod.exe ‐‐config "d:MongoDBServer3.4mongo.conf" ‐‐install

4、启动mongodb服务,浏览器中输入http://127.0.0.1:27017看到如下界面即说明启动成功

win下MongoDB使用第4张

 ● 连接

a.使用mongodb自带客户端连接(mongo.exe)

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?
options]]

例子:

mongodb://localhost 连接本地数据库27017端口
mongodb://root:itcast@localhost 使用用户名root密码为itcast连接本地数据库27017端口
mongodb://localhost,localhost:27018,localhost:27019,连接三台主从服务器,端口为27017、27018、27019

b.使用studio3T客户端连接

c.用java程序连接

1)添加依赖

<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo‐java‐driver</artifactId>
<version>3.4.3</version>
</dependency>

2)java代码

@Test
public void testConnection(){
//创建mongodb 客户端
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
//或者采用连接字符串
//MongoClientURI connectionString = new
MongoClientURI("mongodb://root:root@localhost:27017");
//MongoClient mongoClient = new MongoClient(connectionString);
//连接数据库
MongoDatabase database = mongoClient.getDatabase("test");
// 连接collection
MongoCollection<Document> collection = database.getCollection("student");
//查询第一个文档
Document myDoc = collection.find().first();
//得到文件内容 json串
String json = myDoc.toJson();
System.out.println(json);
}

  ● 操作数据库

win下MongoDB使用第5张

1、查询数据库

show dbs #查询全部数据库
db       #显示当前数据库

2、创建数据库(有DATABASE_NAME数据库则切换到此数据库,没有则创建)

use DATABASE_NAME

3、删除数据库

use test02
db.dropDatabase()

4、创建集合

db.createCollection(name, options)
name: 新创建的集合名称
options: 创建参数

5、删除集合

db.collection.drop()
例子:
db.student.drop() #删除student集合

6、插入文档

db.student.insert({"name":"程序员","age":10})

7、更新文档

如果不加修改器$set,这条文档除了name字段其它字段都不见了

db.student.update({"name":"程序员"},{$set:{"name":"北京程序员"}})

8、删除文档

1)删除所有文档

db.student.remove({})

2)删除符合条件的文档

db.student.remove({"name":"程序员"})

9、查询文档

db.collection.find(query, projection)
query:查询条件,可不填
projection:投影查询key,可不填

如下只返回name和age:

db.student.find({"name":"程序员"},{name:1,age:1,_id:0})

查询某集合下文档数量:

db.student.count()
db.student.count({"id":"001"})

限定查询条数:

db.spit.find().limit(3)

10、创建用户。数据库用户角色:read、readWrite;

use admin
db.createUser(
{
user:"root",
pwd:"root",
roles:[{role:"readWrite",db:"admin"}]
}
)

11、查询用户

show users

12、删除用户

db.dropUser("root1")

13、修改密码

use admin
db.changeUserPassword("root","123")

14、docker运行mongodb并开启认证

docker run -di --name=mongo -p 27017:27017 mongo --auth

运行后进入该docker容器创建root用户

 15、高级操作

● 大于 小于 不等于

db.集合名称.find({ "field" : { $gt: value }}) // 大于: field > value
db.集合名称.find({ "field" : { $lt: value }}) // 小于: field < value
db.集合名称.find({ "field" : { $gte: value }}) // 大于等于: field >= value
db.集合名称.find({ "field" : { $lte: value }}) // 小于等于: field <= value
db.集合名称.find({ "field" : { $ne: value }}) // 不等于: field != value

● 包含与不包含

//查询吐槽集合中userid字段包含1013和1014的文档
db.spit.find({userid:{$in:["1013","1014"]}}) 
//查询吐槽集合中userid字段不包含1013和1014的文档
db.spit.find({userid:{$nin:["1013","1014"]}})

● 条件连接

//查询吐槽集合中visits大于等于1000 并且小于2000的文档
db.spit.find({$and:[ {visits:{$gte:1000}} ,{visits:{$lt:2000} }]})
//查询吐槽集合中userid为1013,或者浏览量小于2000的文档记录
db.spit.find({$or:[ {userid:"1013"} ,{visits:{$lt:2000} }]})

● 使某列值在原有值的基础上进行增加或减少,用$inc运算符来实现

db.spit.update({_id:"2"},{$inc:{visits:NumberInt(1)}} )

免责声明:文章转载自《win下MongoDB使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于Ubuntu共享文件夹的设置Win10 教育版下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL在linux上的rpm包方式安装方法

1、下载上传mysql server和client rpm包: [root@faspdev mnt]# ls MySQL-client-5.5.53-1.el6.x86_64.rpm MySQL-server-5.5.53-1.el6.x86_64.rpm 2、安装mysql数据库: 1)安装mysql server端rpm包: [root@faspdev...

Openstack Mitaka 版本1

Openstack Mitaka 版本 计算节点扩容、cinder存储 目录 Openstack Mitaka 版本 计算节点扩容、cinder存储 1.增加计算节点 1.1 更改hosts解析 1.2 配置yum源 1.3 配置时间同步 1.4 安装openstack客户端和openstack-selinux 1.5 安装&配置安装nov...

开发者使用JasperReport——通过数据源生成报表

前言 前两篇都是介绍了如何查询数据库,但是都是通过报表模版跟数据库进行交互的,也就是说我们的查询语句和参数的定义都写死在模版里面了,所以有时候会不太方便,所以今天就来跟大家介绍下通过Servlet与数据库进行交互,模板只负责显示。 正题 跟之前的一样,我们要生成报表需要以下几个步骤: 1.引入jar包,请看《静态文本报表》 。 2.新建报表模版: 由于...

linux安装mysql8.0.25

一、安装 准备工作 官网下载链接:https://dev.mysql.com/downloads/mysql/ cd /usr/local # 创建mysql目录 mkdir mysql # 进入目录 cd mysql 将下载之后的包(mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz) 上传到/usr/local/m...

MySQL升级方法一

1、在目标服务器上安装新版本的mysql数据库。 1)解压缩新版mysql数据库压缩包并cp到指定目录: [root@faspdev mnt]# tar -zxvf mysql-5.6.24-linux-glibc2.5-x86_64.tar.gz [root@faspdev local]# mv /mnt/mysql-5.6.24-linux-glib...

拒绝了对对象 'sp_OACreate' (数据库 'mssqlsystemresource',架构 'sys')的 EXECUTE 权限。

执行一个存储过程, 由于里面使用到了一些 --创建对象 EXEC sp_OACreate 'VBScript.RegExp', @objRegexOUT --设置属性 EXEC sp_OASetProperty @objRegex, 'Pattern', @pattern EXEC sp_OASetProperty @objRegex, 'Ign...