mongodb配置和基本操作

摘要:
MongoDB3.0新特性WiredTigerMMAPv1可插拔引擎API基于web的可视化管理工具查看版本号mongod--version启动数据库mongod--dbpath$dbpath--logpath$logpath--logappend--fork--port=27000$dbpath数据目录$logpath是log文件的路径不是目录路径logappend日志追加方式--fork后台运

MongoDB
3.0新特性
WiredTiger
MMAPv1
可插拔引擎API
基于web的可视化管理工具

查看版本号
mongod --version
启动数据库

mongod --dbpath $dbpath --logpath $logpath --logappend --fork --port=27000

$dbpath 数据目录
$logpath 是log文件的路径 不是目录路径
logappend 日志追加方式
--fork 后台运行

在win下
添加到系统服务中

mongod --dbpath $dbpath --logpath $logpath --logappend --install/remove --serviceName "MongoDb"

可以用 服务再启动
net start/stop MongoDB

mongod --dbpath ./data --logpath ./log/mongo.log --logappend --fork

操作

启动

mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mon.log --logappend --fork --port=27000

默认端口 27017
连接
mongo 远程主机ip或DNS:MongoDB端口号/数据库名 -u user -p password
mongo 127.0.0.1:27000
mongo --port=27017
查询所有数据库
show databases
关闭
在一个已经连接上的客户端
use admin
db.shutdownServer()

根据配置文件来启动

建立mongodb.conf

#设置数据目录
dbpath=/usr/local/mongodb/data
#设置日志文件位置
logpath=/usr/local/mongodb/log/mon.log
#打开日志输出操作
logappend=true
#不使用用户管理验证
noauth=true
port=27017

指定配置文件来启动
mongod -f /usr/local/mongodb/mongodb.conf

-----------------------------------

基本操作

1.使用hk数据库
> use hk
switched to db hk
> show databases
admin 0.000GB
local 0.000GB
当没有实际的数据操作时,use 不会创建数据库

2.创建集合

db.createCollection("stu")

> db.createCollection("stu")
{ "ok" : 1}
>show databases
admin  0.000GB
hk     0.000GB
local  0.000GB

这时hk数据库才会被真正创建

查看集合里所有的数据
db.stu.find()

3.插入数据
db.stu.insert({"name":'hk','age':10,'class':20});

> db.stu.find()
> db.stu.insert({"name":'hk','age':10,'class':20});
WriteResult({ "nInserted" : 1})
> db.stu.find()
{ "_id" : ObjectId("59295c842e2070afc7e34f3e"), "name" : "hk", "age" : 10, "class" : 20 }

查看集合
> show collections
stu

4.查看hk表数据
db.集合名称.find({若干条件})
插入不同结构的数据

var data={
   "name":"张三",
   "sex":"男",
   "hobby":"足球",
   "english":89
};
db.stu.insert(data);
>db.stu.find()
{ "_id" : ObjectId("59295c842e2070afc7e34f3e"), "name" : "hk", "age" : 10, "class" : 20}
{ "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "name" : "张三", "sex" : "男", "hobby" : "足球", "english" : 89 }

mongodb每一条记录会生成_id
组成=时间戳+机器码+PID+计数器

5.查看单独的文档信息

>db.stu.findOne()
{
    "_id" : ObjectId("59295c842e2070afc7e34f3e"),
    "name" : "hk",
    "age" : 10,
    "class" : 20
}

6.删除数据

db.stu.remove({"_id" : ObjectId("59295c842e2070afc7e34f3e")});
> db.stu.remove({"_id" : ObjectId("59295c842e2070afc7e34f3e")});
WriteResult({ "nRemoved" : 1})
>db.stu.find()
{ "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "name" : "张三", "sex" : "男", "hobby" : "足球", "english" : 89 }

7.更新数据

var data={
   "name":"张三",
   "sex":"女",
   "hobby":"跳舞",
   "english":99
};
db.stu.update({ "_id" : ObjectId("59295e3e2e2070afc7e34f3f")},data);

操作示例

mongodb配置和基本操作第1张mongodb配置和基本操作第2张
> var data={
...    "name":"张三",
...    "sex":"",
...    "hobby":"跳舞",
...    "english":99
... };
> db.stu.update({ "_id" : ObjectId("59295e3e2e2070afc7e34f3f")},data);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1})
> db.stu.find()
{ "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "name" : "张三", "sex" : "", "hobby" : "跳舞", "english" : 99}
完全不同结构的文档更新
> var data={
...      "a":'ajax'
... }
> db.stu.update({ "_id" : ObjectId("59295e3e2e2070afc7e34f3f")},data);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1})
> db.stu.find()
{ "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "a" : "ajax" }
View Code

8.删除集合

db.stu.drop()
> db.stu.drop()
true
> show collections

9.删除数据库(删除删除当前所在的数据库,先切换再操作)

db.dropDatabase()

免责声明:文章转载自《mongodb配置和基本操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Keil uvison 4.7学习笔记CentOS 7 安装ActiveMQ下篇

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

相关文章

mongodb 索引的基本命令

mongodb的索引: 在数据量超大的时候,能够极大的增快查询速率,但是会降低更新效率。建立索引: db.集合.ensureIndex({属性:1}) //1代表升序 -1代表降序 db.集合.ensureIndex({属性1:1,属性2:1}) //联合索引查看文档所有索引: db.集合.getIndexes()删除索引:...

linux安装mongodb(设置非root用户和开机启动)

官网地址:https://www.mongodb.com/ 在官网上选择不同的linux系统得到不同的下载地址,我们用的下载地址是:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz 1.mongodb的安装及连接 cd opt/ wget https://fast...

MongoDB批量更新和批量插入的方式

最近,在调试代码中发现向MongoDB插入或者更新文档记录时若是多条的话都是采用for循环操作的,这样的处理方式会造成数据操作耗时,不符合批量处理的原则;对此,个人整理了一下有关MongoDB的批量更新和批量插入的操作流程,如下所示: @Autowired privateMongoTemplate mongoTemplate; (1)批量插入示例如下: L...

MongoDB 不断发展:发布 1.4 版本,10gen 提供商业支持

3 月25日 MongoDB(取自“humongous”)1.4 版发布 后不久,其创始人Dwight Merriman(前DoubleClick CEO/CTO)宣布10gen —— 开源文档数据库MongoDB背后的公司,将为其提供商业培训和支持。 InfoQ借此机会采访了Merriman,了解了MongoDB的特性、适用性以及在NoSQL数据库社区中...

[轉]redis;mongodb;memcache三者的性能比較

先说我自己用的情况: 最先用的memcache ,用于键值对关系的服务器端缓存,用于存储一些常用的不是很大,但需要快速反应的数据 然后,在另一个地方,要用到redis,然后就去研究了下redis. 一看,显示自己安装了php扩展,因为有服务器上的redis服务端,自己本地就没有安装,其实用法和memcache基本一样,可能就是几个参数有所不 同。当然 它们...

CentOS 6 使用 yum 安装MongoDB及服务器端配置

安装MongoDB的方法有很多种,可以源代码安装,在Centos也可以用yum源安装的方法。由于MongoDB更新得比较快,我比较喜欢用yum源安装的方法。64位Centos下的安装步骤如下: 1、准备工作 运行yum命令查看MongoDB的包信息[root@localhost~]#yuminfomongo-10gen (提示没有相关匹配的信息,) 说明你...