mongodb安装

安装

1.https://www.mongodb.com/try/download/community
2.tar -zxvf mongodb-linux-x86_64-rhel80-5.0.9.tgz
3.mkdir log mkdir data
4.vim /etc/profile
PATH=/opt/mongodb-linux-x86_64-rhel80-5.0.9/bin:$PATH
source /etc/profile
5.vim mongod.conf
例子

systemLog:
  quiet: false # MongoDB试图最大程度精简日志数量,以安静模式运行,不建议生产环境打开
  destination: file # 日志输出的目的地,如果值是file,即文件类型,则必须指定path的值
  path: /var/log/mongodb/mongod.log # 日志的路径,该值即默认路径
  logAppend: true # 重启MongoDB实例时,是否在同一个文件追加日志,如果为false,则备份原有日志,同时新增日志文件
  verbosity: 2 # 日志的详细程度,范围0-5,默认是0,即最简单日志;最高是5,最详细日志。

storage:
  dbPath: /var/lib/mongo # 数据存储位置,该值即默认值,可手动配置
  journal:
    enabled: true # 是否启用持久性日志存储,64位系统默认true32位默认false

net:
  port: 27017 # MongoDB监听的tcp端口,默认是27017,建议修改
  bindIp: 127.0.0.1 # 允许链接的IP地址,如需远程连接,应该改为对应IP,或改为0.0.0.0(::,0.0.0.0)以允许所有IPv4(IPv6)链接
storage:
    dbPath: "/opt/mongodb-linux-x86_64-rhel80-5.0.9/data"
systemLog:
    destination: file    path: "/opt/mongodb-linux-x86_64-rhel80-5.0.9/mongod.log"
    logAppend: true
net:
    port: 27017
    bindIpAll: true
processManagement:
    fork: true
    

6启动
mongod --config /opt/mongodb-linux-x86_64-rhel80-5.0.9/mongodb.conf
mongod --config /opt/mongodb-linux-x86_64-rhel80-5.0.9/mongodb.conf --shutdown

命令

登录

shell登录 mongo或mongodb://localhost
带密码带数据库 mongodb://user:pass@localhost/shujuku

查看数据库 show dbs

admin: 要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

创建数据库 use DATABASE_NAME 查看数据库不存在自动创建

删除数据库 db.dropDatabase()

创建集合 db.createCollection(name, options)

查看集合 show collections

删除集合 db.collectionname.drop()

插入文档

db.COLLECTION_NAME.insert(document) 如果 _id 主键存在则更新数据,如果不存在就插入数据
(可以使用 db.collection.insertOne() 或 db.collection.replaceOne() 来代替)

db.COLLECTION_NAME.save(document)

更新文档

db.collection.update(
,

)
db.col.update({‘title’:‘MongoDB’},{$set:{‘title’:‘M’}},false,true)
false没有匹配是否插入
true是否更新全部匹配,默认只更新一个

删除文档

db.col.remove({‘title’:‘MongoDB’}) 删除title=MongoDB

查询文档

db.collection.find(query, projection)
等于 	{<key>:<value>} 	db.col.find({"by":"1"}).pretty() 	where by = '1'
小于 	{<key>:{$lt:<value>}} 	db.col.find({"likes":{$lt:50}}).pretty() 	where likes < 50
小于或等于 	{<key>:{$lte:<value>}} 	db.col.find({"likes":{$lte:50}}).pretty() 	where likes <= 50
大于 	{<key>:{$gt:<value>}} 	db.col.find({"likes":{$gt:50}}).pretty() 	where likes > 50
大于或等于 	{<key>:{$gte:<value>}} 	db.col.find({"likes":{$gte:50}}).pretty() 	where likes >= 50
不等于 	{<key>:{$ne:<value>}} 	db.col.find({"likes":{$ne:50}}).pretty() 	where likes != 50

集合查询相当于联表查
db.collection.aggregate([
 {
 $lookup:
 {
  from: "连接的集合名",
  localField: "_id",
  foreignField: "_id",
  as: "result 结果别名"
 }, 
    { $match: { "result.0": { "$exists": false } } } 
 }
])

and 查询
 {$and:[{"b":"my"},{"a":"a"}]}
or 查询
 {$or:[{"a":{"$ne" : "3"}}] }
 
 or 加 and 查询
{$or:
  [
  {$and:[{"createBy":"wangsen1"},{"flowflag":"3"}]},{"flowflag":{"$ne" : "3"}}
  ]
}

包含某字段的模糊查询
db.col.find({"a":{ $regex:/XXX/}})
以某字段为开头的文档
db.col.find({"a":{ $regex:/^XXX/}})
以某字段为结尾的文档
db.col.find({"a":{ $regex:/XXX$/}})
查询忽略大小写
db.col.find({"a":{ $regex:/XXX/i}})

Skip方法,sort() 方法

imit与Skip方法,sort() 方法
db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
1 为升序排列,而 -1 是用于降序排列
db.COLLECTION_NAME.find().sort({KEY:1})

索引
db.col.createIndex({“title”:1})
1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1

去重查询

db.collection.distinct(‘_id’)

你可能感兴趣的:(java,mongodb,linux,服务器)