博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mongo 学习笔记之(基本命令)
阅读量:5888 次
发布时间:2019-06-19

本文共 4023 字,大约阅读时间需要 13 分钟。

创建数据库:

use company; (有则进入,无则创建,只有插入数据后才能在数据库中显示此数据库)
db (查看当前位于哪个数据库)
show dbs (查看所有数据库)

db.runoob.insert({"name":"zhangsan"})

WriteResult({ "nInserted" : 1 })
show dbs
local 0.078GB
runoob 0.078GB
test 0.078GB>
MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。
MongoDB 删除数据库的语法格式如下:
db.dropDatabase(),例如:
use runoob 进入要删除的数据库,默认是在test数据库下
db.dropDatabase()
{ "dropped" : "runoob", "ok" : 1 }
MongoDB 中使用 createCollection() 方法来创建集合。
语法格式:
db.createCollection(name, options)
在 test 数据库中创建 runoob 集合:
use test
switched to db test
db.createCollection("runoob")
{ "ok" : 1 }

删除集合

集合删除语法格式如下:

db.collection.drop()
例:删除 runoob 数据库中的集合 site:
use runoob
switched to db runoob
show tables
site
db.site.drop()
true
show tablesMongoDB 中使用 drop() 方法来删除集合。
创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。
db.createCollection("mycol", { capped : true, autoIndexId : true, size :
6142800, max : 10000 } )
{ "ok" : 1 }

在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。

db.mycol2.insert({"name" : "lisi"})
show collections
mycol2

插入数据:

db.col.insert({title: '书本',

description: '知识就是力量',
by: '啦啦',
url: '',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
以上实例中 col 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。
查看已插入文档:db.col.find()
我们也可以将数据定义为一个变量,如下所示:
document=({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: '菜鸟教程',
url: '',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
});
执行后显示结果如下:
{
"title" : "MongoDB 教程",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "菜鸟教程",
"url" : "",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
执行变量插入操作:
db.col.insert(document)
WriteResult({ "nInserted" : 1 })
插入文档也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据
更新数据:
db.collection.update()
通过 update() 方法来更新上边的标题(title):
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
插入文档也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据
db.col.find()
{ "_id" : ObjectId("5c2ec7fa7fc8d47a87640e52"), "title" : "php", "description" : "php is good", "by" : "jiaocheng", "url" : "", "tags" : [ "php" ], "likes" : 200 }
{ "_id" : ObjectId("5c2ec8087fc8d47a87640e53"), "title" : "php", "description" : "php is good", "by" : "jiaocheng", "url" : "", "tags" : [ "python" ], "likes" : 100 }
修改{ "_id" : ObjectId("5c2ec8087fc8d47a87640e53"),的所有带有php的为python:
db.col.save({ "_id" : ObjectId("5c2ec8087fc8d47a87640e53"), "title" : "python", "description" :
"python is good", "by" : "jiaocheng","url" : "", "tags" : [ "python" ], "likes" : 100 })
更多实例
只更新第一条记录:
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 );

移除数据内容:

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

db.col.find() 或 db.haha.find().pretty() 格式化输出

…… # 没有数据
除了 find() 方法之外,还有一个 findOne() 方法,它只返回一个文档。
以下实例通过 by 和 title 键(数据内的某一条数据)来查询 菜鸟教程 中 MongoDB 教程 的数据,可以查询整体数据的内容并删除!(包含整条数据内的所有有关数据)
db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}).pretty()

操作表达式:

MongoDB (>) 大于操作符 - $gt

如果你想获取 "col" 集合中 "likes" 大于 100 的数据,你可以使用以下命令:
db.col.find({likes : {$gt : 100}})
类似于SQL语句:
Select * from col where likes > 100;
如果你想获取"col"集合中 "likes" 小于 150 的数据,你可以使用以下命令:
db.col.find({likes : {$lt : 150}})
MongoDB (<=) 小于操作符 - $lte
如果你想获取"col"集合中 "likes" 小于等于 150 的数据,你可以使用以下命令:
db.col.find({likes : {$lte : 150}})
MongoDB(>=)大于等于操作符 - $gte
如果你想获取"col"集合中 "likes" 大于等于 100 的数据,你可以使用以下命令:
db.col.find({likes : {$gte : 100}})
MongoDB 使用 (<) 和 (>) 查询 - $lt 和 $gt
如果你想获取"col"集合中 "likes" 大于100,小于 200 的数据,你可以使用以下命令:
db.col.find({likes : {$lt :200, $gt : 100}})

转载于:https://blog.51cto.com/13576471/2359140

你可能感兴趣的文章
BeanUtils\DBUtils
查看>>
VC 创建托盘,托盘tooltip。右键托盘菜单,点击别的地方会隐藏掉的问题。
查看>>
第一天,新的定义
查看>>
WPF EventSetter Handler Command
查看>>
polya定理,环形涂色
查看>>
day4-装饰器前奏
查看>>
【Jest】笔记三:全局变量
查看>>
forward和redirect的区别
查看>>
使用JavaMail完成邮件的编写
查看>>
洛谷P1576 最小花费
查看>>
封装了一个类,可生成验证码,缩略图,及水印图
查看>>
文件服务器 之 Debian下pureftpd的安装心得
查看>>
第一阶段项目总结
查看>>
Java集合详解
查看>>
myeclilpse打开文件所在位置的图标消失后的找回方法
查看>>
Java面向对象编程概述
查看>>
Android利用文本分割拼接开发一个花藤文字生成
查看>>
哈夫曼树的实现
查看>>
12-18Windows窗体应用小程序之记事本(1)
查看>>
毕业论文一次性修改所有字母和数字的字体
查看>>