MongoDB学习(一)

几个常见的命令

  • show dbs:显示所有数据库
  • show collections:显示数据库中的集合
  • show tables:显示数据库中的集合(sql中的用法?)
  • db:显示当前数据库名称
  • db.Fire.find():查看已插入文档:

创建数据库

MongoDB 创建数据库的语法格式如下:

use MyDataBase

use为选择数据库,没有该数据库时则创建;创建后需要加入集合才能显示出来

添加数据
//Fire为新建的集合名
db.Fire.insert({"name":"123"})

删除数据库

MongoDB 删除数据库的语法格式如下:

db.dropDatabase()

创建集合

语法格式:

db.createCollection(name, options)

参数说明:

  • name: 要创建的集合名称
  • options: 可选参数, 指定有关内存大小及索引的选项
    • capped
    • autoIndexId
    • size
    • max

删除集合

语法格式:

db.Fire.drop()

插入文档

文档的数据结构和 JSON 基本一样。
所有存储在集合中的数据都是 BSON 格式。
BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。

db.COLLECTION_NAME.insert(document)
//举例
db.Fire.insert({name:"jia",
		age:12,
		sex:"nan"
})

查看已插入文档:

db.Fire.find()

更改文档

db.collection.update(
   <query>
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如 , , ,inc…)等,也可以理解为sql update查询内set后面的
  • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。
//举例
//插入文档
db.Fire.insert({name:"hello"})
更新文档
//db.Fire.update({'name':'hello'},{$set:{'name':'world'}})

删除文档

deleteOne() 和 deleteMany() ;
db.Fire.deleteMany({}):删除集合下的全部文档
db.Fire.deleteOne({name:“hello”}):删除几个下name为hello的一个文档

查询文档

语法格式如下:

db.Fire.find().pretty()
//find()方法中可以写入筛选条件
AND条件:db.Fire.find({"name":"jia","age":"12"}).pretty()
OR条件:db.Fire.find({$or:[{"name":"jia"},"age":"12"]}).pretty()

操作符

插入以下数据

	db.col.insert({
    title: 'PHP 教程', 
    description: 'PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。',
    by: '菜鸟教程',
    url: 'http://www.runoob.com',
    tags: ['php'],
    likes: 200
})
	db.col.insert({title: 'Java 教程', 
    description: 'Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。',
    by: '菜鸟教程',
    url: 'http://www.runoob.com',
    tags: ['java'],
    likes: 150
})
	db.col.insert({title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: '菜鸟教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb'],
    likes: 100
})

条件操作符
$gt -------- greater than >
$gte --------- gt equal >=
$lt -------- less than <
$lte --------- lt equal <=
$ne ----------- not equal !=
$eq -------- equal =
如果你想获取 “col” 集合中 “likes” 大于 100 的数据,你可以使用以下命令:

db.col.find({likes : {$gt : 100}})

如果你想获取"col"集合中 “likes” 大于100,小于 200 的数据,你可以使用以下命令:

db.col.find({likes : {$lt :200, $gt : 100}})

$type 操作符

如果想获取 “col” 集合中 title 为 String 的数据,你可以使用以下命令:

db.col.find({"title" : {$type : 'string'}})

Limit()方法
limit()方法基本语法如下所示:

db.col.find({},{"title":1,_id:0}).limit(2)
//只显示title内容,不显示id
//id为默认显示,需要置0
{ "title" : "PHP 教程" }
{ "title" : "Java 教程" }

Skip() 方法
我们除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。

db.col.find({},{"title":1,_id:0}).limit(1).skip(1)
{ "title" : "Java 教程" }

sort() 方法
col 集合中的数据按字段 likes 的降序排列:(1为升序,-1为降序)

db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
{ "title" : "PHP 教程" }
{ "title" : "Java 教程" }
{ "title" : "MongoDB 教程" }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值