Mongodb学习笔记

windows下:

1、安装为windows服务(--replSet rs0:副本集名称,其他机器也设置成该名称):
C:\Program Files\MongoDB\Server\3.4\bin>mongod.exe --bind_ip 192.168.2.117 --logpath "E:\mongodata\dbConf\mongodb.log" --logappend --dbpath "E:\mongodata\db" --port 27107 --serviceName "MongoDbService" --serviceDisplayName "MongoDbService" --replSet rs0 --install

连接数据库:
bin目录下:mongo --host 192.168.2.117 --port 27107

命令:
db----------显示当前所在的数据库
use dbname---------------切换到指定的数据库(不存在的话会自动创建)

show dbs------------显示所有的数据库(新创建的数据库要插入数据才会显示)

show collections -----------显示当前数据库下的所有集合

db.dropDatabase() ------------删除当前数据库

db.collection.drop()---------删除集合

插入数据:
db.users.insert({"_id": ObjectId("53402597d852426020000002"), "contact": "987654321","dob": "01-01-1991","gender": "M","name": "Tom Benzamin","user_name":"tombenzamin"})

users---集合名称(没有会自动创建)


db.users.find().pretty()-----------查找所有文档

db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})-----------更新文档

db.col.remove({'title':'MongoDB 教程'})-----------删除

db.col.remove({'title':'MongoDB 教程'},1)-----------删除1条

查询

等于    {<key>:<value>}                db.col.find({"by":"菜鸟教程"}).pretty()        where by = '菜鸟教程'
小于    {<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.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}).pretty()------------and

db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()-------or

db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()------and,or联合使用


根据数据类型查找:

db.col.find({"title" : {$type : 2}})-----------2表示String类型


类型            数字    备注
Double            1     
String            2     
Object            3     
Array            4     
Binary data        5     
Undefined        6    已废弃。
Object id        7     
Boolean    8     
Date    9     
Null    10     
Regular Expression    11     
JavaScript        13     
Symbol            14     
JavaScript (with scope)    15     
32-bit integer    16     
Timestamp        17     
64-bit integer    18     
Min key            255    Query with -1.
Max key            127

db.middle.find().limit(1)-------------只要一条
db.middle.find().limit(1).skip(1)-------------只要一条,并且跳过第一条(显示第二条)


获取数量
db.getCollection('test_collection').count()


排序
db.col.find({},{"title":1,_id:0}).sort({"likes":-1})  -----------降序(-1:降序,1:升序)

创建索引
db.col.ensureIndex({"title":1}) -------------title是字段(1:升序创建索引,-1:降序创建索引)


副本集:
    
Mongo客户端使用命令rs.initiate()来启动一个新的副本集。
我们可以使用rs.conf()来查看副本集的配置
查看副本集状态使用 
rs.status() 命令
rs.add(HOST_NAME:PORT)/rs.add("mongod1.net:27017")---------将其添加到副本集中

db.isMaster():当前节点是否是主节点


备份:
C:\Program Files\MongoDB\Server\3.4\bin>mongodump -h 192.168.2.117:27107 -d students -o d:\mongobak  (主机名,端口号,数据库,备份目录)

还原:
mongorestore -h <hostname><:port> -d dbname <path>(path:备份目录)


ObjectId:
是一个12字节 BSON 类型数据
前4个字节表示时间戳
接下来的3个字节是机器标识码
紧接的两个字节由进程id组成(PID)
最后三个字节是随机数。

ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()-----------文档创建的时间

new ObjectId().str ---------------转换字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值