MongoDB的简单使用

初识:

  • MongoDB 是一个基于分布式文件存储的数据库

  • 前端开发选择mongodb的理由

javascript操作json最方便了,而mongodb也是json存储的,mongodb的操作语言是javascript,一点违和感都没有。用mongodb也很方便,不需要事先设置数据结构,字段随时可以加,要是用来保存RESTFUL API请求与返回数据那就更方便了,不论数据有多复杂,直接扔进去就好了。

  • MongoDB 将数据存储为一个文档 文档类似于 JSON 对象

数据库

//切换数据库
use runoob

//查看所有数据库
show dbs

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

集合(表)

// 创建集合
db.createCollection("RUNOOB")

//查看所有的集合
show collections
show tables

--按条件创建
//创建固定集合 mycol,整个集合空间大小 6142800 KB, 
//文档最大个数为 10000 个
db.createCollection("mycol", {
	capped: true,
	autoIndexId: true,
	size: 6142800,
	max:10000
})

--在没有集合的情况下
//你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合
db.mycol2.insert({"name" : "菜鸟教程"})

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

文档(记录)

--插入文档
//MongoDB 使用 insert() 或 save() 方法向集合中插入文档
//db.COLLECTION_NAME.insert(document)
db.col.insert({
  title:'Mongo教程',
	by:'Mr-jies',
	url:'www.airwhale',
	tags:['mongodb','database','nosql'],
	likes:1000
})

--更新集合
//query : update的查询条件,类似sql update查询内where后面的。
//update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
//upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
//multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
//writeConcern :可选,抛出异常的级别。
--更新标题(title):修改多条相同的文档,
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
--更新标题(title):修改一条相同的文档,
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})

--替换了 _id 为 5ea6ee38821a0000610030c7的文档数据
db.col.save({
    "_id" : ObjectId("5ea6ee38821a0000610030c7"),
    "title" : "MongoDB55555555",
    "description" : "MongoDB 是一个 Nosql 数据库",
    "by" : "Runoob",
    "url" : "http://www.runoob.com",
    "tags" : [
            "mongodb",
            "NoSQL"
    ],
    "likes" : 110
})

//只更新第一条记录:
db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );
//全部更新:
db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );
//只添加第一条:
db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );
//全部添加进去:
db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );
//全部更新:
db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );
//只更新第一条记录:
db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );

//删除全部by为菜鸟教程的文档
db.col.remove({'by':'菜鸟教程'})
//删除一行title为MongoDB 教程的文档
db.col.remove({'title':'MongoDB 教程'},1)

--查询文档
db.col.find()
db.col.findOne()
db.col.find().pretty()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值