时间:2021-07-01 10:21:17 帮助过:21人阅读
Linux平台安装教程:https://www.runoob.com/mongodb/mongodb-linux-install.html
Mac OSX 平台安装教程:https://www.runoob.com/mongodb/mongodb-osx-install.html
(教程网址:https://www.runoob.com/mongodb/mongodb-java.html)
在 Java 程序中如果要使用 MongoDB,你需要确保已经安装了 Java 环境及 MongoDB JDBC 驱动。
(1)首先你必须下载mongo jar包,下载地址:https://mongodb.github.io/mongo-java-driver/, 请确保下载最新版本。
(2)你需要将 mongo-java-driver-3.12.0.jar (找到合适的版本)包含在你的 classpath 中。
(3)国内 mongodb-driver jar 下载地址:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/
(4)连接数据库(java代码示例)
import com.mongodb.MongoClient;import com.mongodb.client.MongoDatabase;
public class MongoDBJDBC{
public static void main( String args[] ){
try{
// 连接到 mongodb 服务
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// 连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase("ycs");
System.out.println("Connect to database successfully");
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}}
备注:这里用ycs作为创建的数据库,用aaa作为集合(类似表),bbb作为文档
创建数据库:use DATABASE_NAME #如果数据库不存在,则创建数据库,否则切换到指定数据库
例如:use ycs (>use 数据库名。创建完毕后输入 >db ,就会显示你刚刚创建的实例:ycs)
查看所有数据库:show dbs
插入数据:db.ycs.insert({"name":"黑小子教程"})WriteResult({ "age" : 21 })
注意:MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。
删除数据库:db.dropDatabase()
注意:删除当前数据库,默认为 test,你可以使用 show dbs 或者 db 命令查看当前数据库名,然后命令:use ycs 切换到你要删除的数据库,再执行命令:db.dropDatabase()进行删除。
创建集合:db.createCollection("aaa") # 集合,类似数据库中的表。name: 要创建的集合名称,options:可选参数, 指定有关内存大小及索引的选项。
例如: >use ycs >db.createCollection("aaa")
options 参数:
capped(布尔):(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。注意:当该值为 true 时,必须指定 size 参数。
autoIndexId(布尔):如为 true,自动在 _id 字段创建索引。默认为 false。
Size(数值):(可选)为固定集合指定一个最大值,以千字节计(KB)。如果 capped 为 true,也需要指定该字段。
Max(数值):(可选)指定固定集合中包含文档的最大数量。
查看已有集合: show collections 或 show tables
删除集合:db.collection.drop()
例如: >use ycs >show collections >db.aaa.drop()
插入文档:db.COLLECTION_NAME.insert(document) #使用 insert() 或 save() 方法向集合中插入文档
例如:>db.bbb.insert({title: ‘MongoDB 教程‘,
description: ‘MongoDB 是一个 Nosql 数据库‘,
by: ‘黑小子教程‘,
url: ‘http://www.runoob.com‘,
tags: [‘mongodb‘, ‘database‘, ‘NoSQL‘],
likes: 100})
查看已插入文档:db.bbb.find()
更新文档:db.collection.update( <query>,<update>,
{
upsert: <boolean>, multi: <boolean>, writeConcern: <document>
}) #使用 update() 和 save() 方法来更新集合中的文档
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
例如:(在上面插入文档示例基础上进行修改)
>db.bbb.update({‘title‘:‘MongoDB 教程‘},{$set:{‘title‘:‘MongoDB‘}}) #如需修改多条:则需要设置 multi 参数为 true。
例如: >db.col.update({‘title‘:‘MongoDB 教程‘},{$set:{‘title‘:‘MongoDB‘}},{multi:true})
查看是否更新文档成功: find()
例如:>db.bbb.find().pretty()
删除文档:remove()
语法:db.bbb.remove(
<query>,
{
justOne: <boolean>,writeConcern: <document>
})
列如:>db.aaa.remove({‘title‘:‘MongoDB 教程‘})
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。
查询文档:db.collection.find(query, projection)
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
排序: sort() #语法:>db.COLLECTION_NAME.find().sort({KEY:1})
注意:skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。
指定数量的数据记录(分页):limit() #语法: >db.COLLECTION_NAME.find().limit(NUMBER)
注意:limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。
跳过指定数量的数据(筛选):skip() #语法:>db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
创建索引:createIndex() #语法:>db.collection.createIndex(keys, options)
注意: Key 值为你要创建的索引字段,1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1 即可。
#createIndex() 方法中你也可以设置使用多个字段创建索引(关系型数据库中称作复合索引)。
语法:>db.aaa.createIndex({"title":1,"description":-1})
聚合:aggregate() #主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)。
语法:>db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)
数据备份:mongodump
#语法:>mongodump -h dbhost -d dbname -o dbdirectory
-h : MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
-d : 需要备份的数据库实例,例如:ycs
-o : 备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
数据恢复:mongorestore
#语法:mongorestore -h <hostname><:port> -d dbname <path>
--host <:port>, -h <:port>:MongoDB所在服务器地址,默认为: localhost:27017
--db , -d :需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
--drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!
<path>:mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。你不能同时指定 <path> 和 --dir 选项,--dir也可以设置备份目录。
--dir:指定备份的目录,你不能同时指定 <path> 和 --dir 选项。
监控:mongostat 和 mongotop
在你已经安装部署并允许MongoDB服务后,你必须要了解MongoDB的运行情况,并查看MongoDB的性能。这样在大流量的情况下可以很好的应对并保证MongoDB正常运作。
示例:启动你的Mongod服务,进入到你安装的MongoDB目录下的bin目录, 然后输入mongostat命令,如下所示:
D:\set up\mongodb\bin>mongostat
D:\set up\mongodb\bin>mongotop
MongodDB很强大,这里只诠释了它的背景和用处还有常用的一些操作,还有许多没有功能和用处没有展示出来,可以去官网了解,也根据文中提供的网址去详细了解。如果本文有不合格的地方,可以指正,三人行,必有我师!
qq:2931445528
---------------------------------------------------------END----------------------------------------------------------------
NoSQL入门)(详细)
标签:book 软件 ase 驱动 ble 可伸缩 update ring 复制