mongodb基础语法教程

2019-07-22  本文已影响0人  潇豪

基本概念


数据库 (database)
集合 (collection)
文档 (document)

集合和数据库都不需要手动创建,不存在会自动创建


基本指令


show dbs
show databases

显示当前数据库

use test

进入指定的数据库中

db

表示当前所在的数据库

show collections

显示所有的集合


数据库的CURD


插入db.collection.insert


db.person.insert({name:"xiaohao",age:23,gender:"male"});

插入数据,person为创建的集合名称

db.person.find()

查询插入的数据

db.person.insert([
{name:"xiaohao1",age:23,gender:"male"},
{name:"xiaohao2",age:24,gender:"male"},
{name:"xiaohao3",age:25,gender:"male"},
]) 

插入多个数据,多个数据传数组
如果没有给文档指定_id,系统会自动生成_id,确保唯一性,可以自己指定,指定后不自动添加,但是自己添加不确保唯一性,这里要注意一下。

db.person.insertOne()

插入一个

db.person.insertMany()

插入多个
以上用insert()功能一样,只为语义更清晰,3.2版本后出现


查询db.collection.find

db.person.find()

查询所有

db.person.find({_id:"xxxx"})
db.person.find({age:23})

条件查询,find返回数组

db.person.find({_id:"xxxx"})[0]

[0]为数组索引,返回数组第一个

db.person.find({age:23,name:"xiaohao"})

多条件查询,同时满足两个条件

db.person.findOne({{age:23}})
db.person.findOne({age:23}).name

findOne返回对象

db.person.find({}).count()   or   db.person.find({}).length();

查询条数使用count()比较多


修改文档db.collection.update

db.person.update({name:"xiaohao"},{age:27})

先查询,再替换。但是这样会只存留age:27,推荐使用$符号。默认只改一个

db.person.update({name:"xiaohao"},{$set:{name:"shawn",age:25}})

推荐使用以上操作

db.person.update({name:"xiaohao"},{$unset:{name:"shawn"}})
db.person.updateOne({name:"xiaohao"},{$unset:{name:"shawn"}})

删除指定属性,这里删除name属性,里面不写内容也可以

db.person.updateMany({name:"xiaohao"},{$set:{name:"shawn",age:25}})
db.person.updateMany({name:"xiaohao"},{$set:{name:"shawn",age:25}},{multi:true})

修改多个。 综合上面可以发现update可以实现updateOne和updateMany


删除

db.collection.remove()
db.collection.drop()
db.collection.deleteOne()
db.collection.deleteMany()

db.person.remove({id:"xxx",true})

默认删除符合条件的,选择true,删除一个

db.person.remove({})

为空清除所有,先遍历再删除性能差

db.person.drop();

如有需求使用删除,慎重使用

db.dropDatabase()
上一篇下一篇

猜你喜欢

热点阅读