内容简介:1、创建数据库如果数据库存在创建数据库,否则切换到指定数据库
1、创建数据库
格式 :usr database_name
如果数据库存在创建数据库,否则切换到指定数据库
> use mydb switched to db mydb >
2、查看数据库
查看数据库列表:
格式 :show dbs
注意:如果是刚创建的新数据库并不会出现在数据库列表中,要显示它需要插入数据。
查看当前使用数据库:
格式 : db
>db mydb >
注意 :
1、在 MongoDB 中默认数据库为test,如果你没有创建新的数据库,集合会放在test数据库中。
2、在MongoDB中,集合只有插入内容后才会创建,也就是说创建集合后需要插入一个文档,集合才会被创建。
三、删除数据库
格式:db.dropDatabase()
再查看下数据库是否被删除,使用show dbs;
四、创建集合
格式:db.createCollection(name, options)
参数说明:name 要创建的集合名称,options可选参数,指定有关内存大小及索引选项
查看已有的集合使用:show collections
在MongoDB中,插入一些文档时,如果集合不存在,它会自动帮你创建
五、删除集合:
格式:db.COLLECTIONS_NAME.drop()
成功删除返回true,否则返回false
六、插入文档
格式:db.COLLECIONS_NAME.insert(document)
db.COLLECIONS_NAME.save(document)
两个格式区别:如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
在collection1中插入数据:
成功插入数据后,使用db.COLLECIONS_NAME.find()查看指定集合数据。其中的"_id"是系统自动生成的
也可以把数据定义成一个变量,插入集合
首先定义变量document,然后把document当做变量插入collection2
插入多条数据:
格式:db.COLLECTION_NAME.insert([{文档1},{文档2}...])
(db.collection1.find()后面不要管,shell 的一个bug)
七、更新文档
格式:
db.COLLECTION_NAME.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 :可选,抛出异常的级别。
把"_id"为 ObjectId("5b8f21288eca67517610e01b") 对应的name的值改为"嘤嘤嘤"
示例一:
更新满足条件的第一条数据:
db.collection1.update({"age":{$lt:21}},{$set:{"age":"21"}});
在collection1更新 将age小于21岁的age设置为21
示例二:
更新满足条件的全部数据:
db.collection1.update({"age":{$lt:21}},{$set:{"age":21}},false,true);
末尾的false是upsert 的参数,true是multi 的参数。
示例三:
添加第一条数据:
db.collection1.update({"age":{$gt:23}},{$set:{"age":23}},true,false);
在collection1中寻找有没有满足 年龄大于23的,没有找到便添加{"age":23}这个数据,找到则把找到的第一条数据设置成23.
八、删除文档:
db.collection1.deleteOne({"age":"25"});
删除collection1中年龄25的文档。
db.collection1.deleteMany({"age":22});
删除集合中所有年龄22岁的文档。
db.collection1.deleteMany({})
删除文档
九、查询文档
语法:db.collection_name.find(query, projection)
参数说明:
query:可选,使用查询操作符指定查询条件
projection:可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
栗子1:
在find()后添加pretty()会以易读方式显示。
栗子2:
使用and条件查询:
在MongoDB中传入多个键值对,每个键用逗号隔开
格式: db . collection_name . find ({ key1 : value1 , key2 : value2 })
查找age大于21岁,并且name为name3的文档
使用or条件查询:
在查询条件前添加$or,
格式:db . collection_name . find (
{
$or : [
{ key1 : value1} , { key2 : value2 }
]
}
)
新鲜的栗子:查找name是name4或者age是22的文档
limi()方法:
指定读取数量
语法:
db . COLLECTION_NAME . find (). limit ( NUMBER );
栗子:只读取两条数据
skip方法:
跳过指定数量的数据开始读取
语法:db.collection_name.find().skip(2);
sort方法:
对数据进行排序,用1代表升序,-1代表降序
语法: db . COLLECTION_NAME . find (). sort ({ KEY : 1 })
对年龄进行降序
以上所述就是小编给大家介绍的《MongoDB基本操作》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HTML Dog
Patrick Griffiths / New Riders Press / 2006-11-22 / USD 49.99
For readers who want to design Web pages that load quickly, are easy to update, accessible to all, work on all browsers and can be quickly adapted to different media, this comprehensive guide represen......一起来看看 《HTML Dog》 这本书的介绍吧!