广告
返回顶部
首页 > 资讯 > 数据库 >mongodb使用2
  • 335
分享到

mongodb使用2

2024-04-02 19:04:59 335人浏览 八月长安
摘要

mongoDB使用1)连接monGodbmongo --port 10001 //指定port,默认port为27017,这样就连接了本地的mongodb了mongo --host 192.168.0.11

mongoDB使用
1)连接monGodb
mongo --port 10001 //指定port,默认port为27017,这样就连接了本地的mongodb了
mongo --host 192.168.0.11  //连接远程的mongodb
mongo -umyuser -p123456  //使用用户名密码登录 类似Mysql

[root@localhost ~]# mongo --port 27017
MongoDB shell version: 3.0.7
connecting to: 127.0.0.1:27017/test
>
[root@localhost ~]# mongo  //等同 mongo --port 27017 类似直接mysql直接连接
MongoDB shell version: 3.0.7
connecting to: test

[root@localhost ~]# mongo --host 127.0.0.1 #指定主机名字和ip
MongoDB shell version: 3.0.7
connecting to: 127.0.0.1:27017/test

[root@localhost ~]# netstat -lnp|grep mongo
tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      3769/mongod        
unix  2      [ ACC ]     STREAM     LISTENING     21107  3769/mongod         /tmp/mongodb-27017.sock

[root@localhost ~]# ps aux|grep mongo
mongod    3769  0.5  2.4 500844 47660 ?        Sl   10:57   0:17 /usr/bin/mongod -f /etc/mongod.conf
root      7198  0.0  0.0 103308   860 pts/1    S+   11:54   0:00 grep mongo

2) 用户管理
用户角色: Http://bbs.51cto.com/thread-1146654-1.html

#创建用户      

首先mongodb用户是针对库来的,建立用户时要先进入对应的库里
> use test #选择库。若是之前库不存在,会自动创建该库
switched to db test
> db.createUser({user:"admin",pwd:"123456",roles:[{role:'dbOwner',db:'userdb'}]}) 
Successfully added user: {
     "user" : "admin",
     "roles" : [
          {
               "role" : "dbOwner",
               "db" : "userdb"
          }
     ]
}
#查看用户
db.system.users.find()  //列出所有用户,需要切换到admin库下(use admin)

> use admin    #所有用户都在这个库下
switched to db admin
> db.system.users.find()
{ "_id" : "test.admin", "user" : "admin", "db" : "test", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "GXrf4fS8qPBncxKo2ElryA==", "storedKey" : "C7DFv8iY0gxXgFCgQC/jbCGWCMU=", "serverKey" : "FfbqE2RglKh55DOxy4VmN8ptSEA=" } }, "roles" : [ { "role" : "dbOwner", "db" : "userdb" } ] }
>
show users  //查看当前库下所有的用户
#删除用户,需要切换到admin库      
db.dropUser('admin')
> use test  #切换到之前建立的库里面删除之前新建的用户
switched to db test
> db.dropUser('admin')
true
> show users
> db.system.users.find() #然后发现什么用户也没有


3)数据库管理
#查看版本
MongoDB shell version: 3.0.7
connecting to: test
> db.version()
3.0.7

# 切换/创建库
> use userdb //如果库存在就切换,不存在就创建 
switched to db userdb
 
#此时show dbs 看不到userdb,需要我们创建一个集合
db.createCollection('clo1')
再show dbs就有userdb了。

> use userdb   #此时虽然创建了库但是show的时候是没有的必须创建一个集合
switched to db userdb
> show dbs
admin  0.078GB
local  0.078GB
> db.createCollection('clo1') #创建集合,集合的名字是clo1
{ "ok" : 1 }
> show dbs
admin   0.078GB
local   0.078GB
userdb  0.078GB  #此时会显示库了

#查看所有数据库  
show dbs


#删除数据库 mydb
> show dbs
admin   0.078GB
local   0.078GB
userdb  0.078GB
> use userdb  #先切换到该库下
switched to db userdb
> db.dropDatabase()
{ "dropped" : "userdb", "ok" : 1 }
> show dbs
admin  0.078GB
local  0.078GB  #此时就没有了之前删除了userdb库了


#查看当前库信息

> use admin // 先切换到该库
switched to db admin
> db.stats()
{
     "db" : "admin",
     "collections" : 4,
     "objects" : 10,
     "avgObjsize" : 67.2,
     "dataSize" : 672,
     "storageSize" : 28672,
     "numExtents" : 4,
     "indexes" : 3,
     "indexSize" : 24528,
     "fileSize" : 67108864,
     "nsSizeMB" : 16,
     "extentFreeList" : {
          "num" : 0,
          "totalSize" : 0
     },
     "dataFileVersion" : {
          "major" : 4,
          "minor" : 22
     },
     "ok" : 1
}

#查看mongodb服务器状态

> db.serverStatus()
{
     "host" : "localhost.localdomain",
     "version" : "3.0.7",
     "process" : "mongod",
     "pid" : NumberLong(3769),
     "uptime" : 15510,
     "uptimeMillis" : NumberLong(15509761),
     "uptimeEstimate" : 14138,
     "localTime" : ISODate("2015-12-14T07:16:10.249Z"),
     "asserts" : {
          "regular" : 0,
          "warning" : 0,
          "msg" : 0,
          "user" : 0,
          "rollovers" : 0
     },
     "backgroundFlushing" : {
          "flushes" : 258,
          "total_ms" : 25,
          "average_ms" : 0.09689922480620156,
          "last_ms" : 0,
          "last_finished" : ISODate("2015-12-14T07:15:40.721Z")
     },

。。。。。。。

4)数据管理
创建集合
> use mydb
switched to db mydb
> db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )
{ "ok" : 1 }

#mycol  是集合名字
语法:db.createCollection(name,options)
name就是集合的名字,options可选,用来配置集合的参数,参数如下
capped true/false (可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,会自动覆盖最早的条目,当它达到其最大大小。如果指定true,则需要也指定尺寸参数。
autoindexID  true/false (可选)如果为true,自动创建索引_id字段的默认值是false。
size (可选)指定最大大小字节封顶集合。如果封顶如果是 true,那么你还需要指定这个字段。单位B
max (可选)指定封顶集合允许在文件的最大数量。
> db.createCollection('caimz')
{ "ok" : 1 }
> show collections
caimz
mycol
system.indexes
查看集合
# show collections

> show collections
caimz
mycol
system.indexes
> show tables
caimz
mycol
system.indexes
在集合中添加文档
db.Account.insert({AccountID:2,UserName:"123",passWord:"123456"})  //如果集合不存在,直接插入数据,则mongodb会自动创建集合

> db.Account.insert({AccountID:2,UserName:"123",password:"123456"}) 
WriteResult({ "nInserted" : 1 })
> show tables
Account
caimz
mycol
system.indexes
>  
修改
db.Account.update({AccountID:2},{"$set":{"Age":20}})
查看
db.Account.find()   //查看所有文档

> db.Account.insert({AccountID:2,UserName:"aaa",password:"123456"})
WriteResult({ "nInserted" : 1 })
> db.Account.find()
{ "_id" : ObjectId("566e6f1f269ae27bd4c1929e"), "AccountID" : 2, "UserName" : "123", "password" : "123456" }
{ "_id" : ObjectId("566e6f7f269ae27bd4c1929f"), "AccountID" : 2, "UserName" : "aaa", "password" : "123456" }


db.Account.find({AccountID:2})   //根据条件查询

> db.Account.find()
{ "_id" : ObjectId("566e6f1f269ae27bd4c1929e"), "AccountID" : 2, "UserName" : "123", "password" : "123456" }
{ "_id" : ObjectId("566e6f7f269ae27bd4c1929f"), "AccountID" : 2, "UserName" : "aaa", "password" : "123456" }
{ "_id" : ObjectId("566e6fab269ae27bd4c192a0"), "AccountID" : 1, "UserName" : "aaa", "password" : "123456" }
> db.Account.find({AccountID:1})
{ "_id" : ObjectId("566e6fab269ae27bd4c192a0"), "AccountID" : 1, "UserName" : "aaa", "password" : "123456" }

> db.caimz.find({UserName:"2"})
{ "_id" : ObjectId("566e7049c796070f15a8a72e"), "AccountID" : 2, "UserName" : "2", "password" : "123456" }

更新:

> db.Account.update({AccountID:1},{"$set":{"Age":20}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.Account.find()
{ "_id" : ObjectId("566e6f1f269ae27bd4c1929e"), "AccountID" : 2, "UserName" : "123", "password" : "123456" }
{ "_id" : ObjectId("566e6f7f269ae27bd4c1929f"), "AccountID" : 2, "UserName" : "aaa", "password" : "123456" }
{ "_id" : ObjectId("566e6fab269ae27bd4c192a0"), "AccountID" : 1, "UserName" : "aaa", "password" : "123456", "Age" : 20 }
> db.caimz.update({AccountID:1},{"$set":{"Age":19}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.caimz.find()
{ "_id" : ObjectId("566e7042c796070f15a8a72d"), "AccountID" : 1, "UserName" : "1", "password" : "123456", "Age" : 19 }
{ "_id" : ObjectId("566e7049c796070f15a8a72e"), "AccountID" : 2, "UserName" : "2", "password" : "123456" }
> db.caimz.update({AccountID:1},{"$set":{age:19}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.caimz.find()
{ "_id" : ObjectId("566e7042c796070f15a8a72d"), "AccountID" : 1, "UserName" : "1", "password" : "123456", "Age" : 19, "age" : 19 }
{ "_id" : ObjectId("566e7049c796070f15a8a72e"), "AccountID" : 2, "UserName" : "2", "password" : "123456" }

删除
db.Account.remove({AccountID:2})  //根据条件删除

> db.caimz.find()
{ "_id" : ObjectId("566e7042c796070f15a8a72d"), "AccountID" : 1, "UserName" : "1", "password" : "123456", "Age" : 1, "age" : 19 }
{ "_id" : ObjectId("566e7049c796070f15a8a72e"), "AccountID" : 2, "UserName" : "2", "password" : "123456" }
> db.caimz.remove({age:19})
WriteResult({ "nRemoved" : 1 })
> db.caimz.find()
{ "_id" : ObjectId("566e7049c796070f15a8a72e"), "AccountID" : 2, "UserName" : "2", "password" : "123456" }

要删除整个文档
db.Account.drop()

> show tables
Account
caimz
mycol
system.indexes
> db.Account.drop()
true
> show tables
caimz
mycol
system.indexes

查看集合的状态
use dbname  //先进入对应的库,然后查看集合状态
db.printCollectionStats()

5)数据库性能
db.stats()  //查看当前库的信息
db.serverStatus()   //查看mongodb服务器的状态 列出库里面的所以collection
> db.printCollectionStats()
caimz
{
     "ns" : "mydb.caimz",
     "count" : 1,
     "size" : 112,
     "avgObjSize" : 112,
     "numExtents" : 1,
     "storageSize" : 8192,
     "lastExtentSize" : 8192,
     "paddingFactor" : 1,
     "paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0. It remains hard coded to 1.0 for compatibility only.",
     "userFlags" : 1,

。。。。。。



您可能感兴趣的文档:

--结束END--

本文标题: mongodb使用2

本文链接: https://www.lsjlt.com/news/44294.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mongodb使用2
    mongodb使用1)连接mongodbmongo --port 10001 //指定port,默认port为27017,这样就连接了本地的mongodb了mongo --host 192.168.0.11...
    99+
    2022-10-18
  • MongoDB使用总结系列2
     由于习惯了使用关系型数据库,觉得SQL语句对数据进行操作的灵活性不用多说,也很好理解和掌握,但是开始用MongoDB后,在客户端命令行中对一些数据进行操作时总是很别扭,总是提示语法错误,尽管Ro...
    99+
    2022-10-18
  • mongodb Index(2)
      复合索引 <接上>> 删除之前的collection,重新建立,如下所示:> db.person.drop()true> for(var i=0;i<200...
    99+
    2022-10-18
  • MongoDB(2): 增删改操作
    附加命令:1、进入前端操作命令./mongo [ip:端口]说明:默认会自动选本地,端口270172、显示所有的库> show dbs;   ...
    99+
    2022-10-18
  • 2.MongoDB Sharding Cluster分片集群
    原文:https://www.cnblogs.com/fengyuanfei/p/14495513.html...
    99+
    2018-07-08
    2.MongoDB Sharding Cluster分片集群 数据库入门 数据库基础教程
  • MongoDB中要掌握的概念(2)
    数据库 多个集合可以组成数据库。一个MongoDB实例可以承载多个数据库,他们之间完全独立。 MongoDB中的数据库和MySQL中的数据库概念类似,只是无需创建。 一个数据库中可以有多个集合,一个集合中可以有多个文档。 集合 集...
    99+
    2020-08-26
    MongoDB中要掌握的概念(2)
  • 57-1、2、3 NoSQL基础及MongoDB、Mongo
    02MongoDB基本应用配置环境:node1:192.168.1.121CentOS release 6.7[root@node1 ~]# cd mongodb-2.6.4/[root@node1 mon...
    99+
    2022-10-18
  • Mongodb七天总结—权限管理(2)
    Mongodb权限管理版本:Mongodb3.0说到对数据库我安全问题我们一般就会从以下几点考虑怎么去解决数据库安全的问题。1.最安全的是物理隔离:2.网络隔离:3.防火墙隔离:4.用户名和密码: ...
    99+
    2022-10-18
  • MongoDB干货系列2-MongoDB执行计划分析详解(3)
    MongoDB干货系列2-MongoDB执行计划分析详解(3) http://www.mongoing.com/eshu_explain3  ...
    99+
    2022-10-18
  • MongoDB报错mongorestore: error while loading shared libraries: libsasl2.so.2
    MongoDB使用命令报错mongorestore: error while loading shared libraries: libsasl2.so.2: cannot open shared obje...
    99+
    2022-10-18
  • MongoDB:在 Java 中使用 MongoDB
    除了通过启动 mongo 进程进如 Shell 环境访问数据库外,MongoDB 还提供了其他基于编程语言的访问数据库方法。MongoDB 官方提供了 Java 语言的驱动包,利用这些驱动包可使用...
    99+
    2023-09-14
    mongodb java 数据库
  • MongoDB添加secondary节点的2种方法详解
    前言 前段时间维护的一个事业群的其中一条业务线的开发找到运维,提出来了一个MongoDB的优化问题,那段时间MongoDB正在从op管理移交给db进行维护,整个部门都对MongoDB的运维经验缺乏,Mong...
    99+
    2022-10-18
  • mongodb使用
     mongodb使用1)连接mongodbmongo --port 10001 //指定port,默认port为27017,这样就连接了本地的mongodb了mongo --host 192.16...
    99+
    2022-10-18
  • node.js连接MongoDB数据库的2种方法教程
    前言 MongoDB Node.js驱动程序是被官方所支持的原生node.js驱动程序,他是至今为止最好的实现, 并且得到了MongoDB官方的支持。MongoDB团队已经采用MongoDB Node.js...
    99+
    2022-06-04
    种方法 数据库 教程
  • GNS3使用详解2
            gns3的基本使用前面我已经写过一篇文章了,这次我在详细补充几点内容,第一gns3如何模拟juniper,第二gns3如何模拟ids。        juniper 学网络的人应该都知道这个,但是接触这个的人却不多,本人也是...
    99+
    2023-01-31
    详解
  • vscode使用技巧(2)
    在vscode中我们想要跳到函数定义的地方去,要装个插件,点击下面红色圈住的地方 在里面搜索插件来安装,输入我们要安装的插件,php IntelliSense,如下 安装好后,它会扫描我们的项目,如下 等它扫描完,我们就可以跳到函数的定...
    99+
    2023-09-05
    vscode ide 编辑器
  • C#使用MongoDB
    MongoDB是啥 简单来说:MongoDB是一种非关系型数据库(NoSQL)。 进一步来说:MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似jso...
    99+
    2021-08-19
    C#使用MongoDB 数据库入门 数据库基础教程 数据库 mysql
  • MongoDB的使用
    今天来学习一个新的数据库,叫做MongoDB数据库,我们先来了解一下MongoDB数据库的概念,再一起学习如何使用MongoDB数据库吧~MongoDB的概念MongoDB是专为可扩展性、高性能和高可用性而设计的数据库,MongoDB的库中...
    99+
    2023-06-02
  • 自学tensorflow——2.使用te
    废话不多说,直接开始 1.首先,导入所需的模块: import numpy as np import os import tensorflow as tf 关闭tensorflow输出的一大堆硬件信息 os.environ['TF_...
    99+
    2023-01-31
    tensorflow te
  • Oracle中exp的使用2
    在使用exp的时候,需要注意以下几点当前客户端版本、目标客户端的版本、注意需要设置字符集,也就是NLS_LANG 参考oracle字符集的设置NLS_LANG格式为:[NLS_LANGUAGE]_...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作