MongoDB学习笔记-----持续更新

基础命令篇

本篇笔记中
集合 = 表
文档 = 行
对象= 健
属性 = 值

(一)插入文档

(1)db.collection.insert({})
#插入一个或多个文档

> db.test.insert({
 		_id:1,name:'zbj',
 		age:18,
 		addres:'zhu'
 })
WriteResult({ "nInserted" : 1 })  ##插入一个或多个文档

(2)db.collection.insertOne({})
#同时填入多个文档时只会插入第一个文档

(3)db.collection.insertMany( [ { },{ } ] )
#只允许插入多个文档

> db.test.insertMany([{
	   "_id" : 2,
	   "name" : "zbj",
	   "age" : 18,
	   "addres" : "zhu" },
	   { "_id" : 4,
	   "name" : "zbj",
 	   "age" : 18,
 	   "addres" : "zhu"}
 ])

(4)定义变量

> document=({title: 'MongoDB', 
    by: 'cc',
    url: 'www',
    tags: ['mongodb', 'database', 'NoSQL'],
});

(5)再执行插入操作

db.test.insert(document)

(二)查询文档

(1)db.collection.find()
#默认查找所有文档
注意:find()返回的是一个数组,即可以按索引查找

db.test.find()[0]

db.collection.find( {条件1,条件2 } )
#条件查询(且)

db.test.find({_id:'1'})

(2)db.collection.findOne()
#查询符合条件的第一个文档
注意:返回的是文档对象


(3)db.collection.find( { } ).函数
skip()跳过指定数量数据
lilmit()限制每页显示的条数
在这里插入图片描述
,。

db.collection.find( { } ).count()   #文档数
db.collection.find( { } ).length()   #同上
db.qq1.find().skip(10).limit(10)  #跳过前十条查询接下来的十条

附条件查询语句

如查找num大于200,小于300的文档

 db.test.find({num:{$gt:200,$lt:300}});

如

(三)修改文档

(1)db.collection.update( { 查询对象和属性 } ,{ 替换对象和属性})
#后者的文档,会替换前者查询到的文档所有内容
只对查询到的第一个文档有用

db.test.update({
    _id:'1'},
    {name:'5',
    home:'2'
    })

(2)db.collection.save( { 替换内容})
#替换集合中所有内容

(3)db.test.replaceOne({name:“cgp”},{name:“cgp240”})
db.test.replaceMany({name:“cgp”},{name:“cgp240”})
替换指定内容


修改指定对象或属性,使用“修改操作符”:

(1)$set
注意如果指定对象不存在,将添加新对象,update()默认只修改匹配的第一个文档,同时修改多个需要updateMany()

db.test.update({
    查询对象},
    {$set{  
    指定对象替换
 	}})   #不能用于添加属性

#删除指定对象$unset

db.test.update({
    查询对象},
    {$unset{  
    指定对象
 	}})

(2)$push:可添加
$addToset:不添加已有属性
向数组中添加属性

>{ "_id" : ObjectId("5e8d7a48315dd25b1a6d92c5"),
 "name" :{ "test" : [ 1, 2, 3, 4] },
 "home" : "湖南" }

>db.test.update({
	home:"湖南"},
	{$push:{"name.test":5
	}})
(3)Mongodb的文档属性可以是一个文档

当文档的属性是一个文档时,这个文档叫内嵌文档

 db.test.update({
 	name:"240"},
 	{$set:{name:{"ming":"陈哥"}
 	}});

内嵌文档查询方式:db.xxx.find({“第一对象.第二对象”:“属性”})

db.test.find({"name.ming":"陈哥"})

(四)删除文档

db.collection.remove({ })
#默认删除符合条件的所有文档


db.collection.remove({ },true)
#删除符合条件的第一个文档


db.collection.deleteOne({ })
#删除符合条件的第一个文档


db.collection.deleteMany({ })
#删除符合条件的所有文档


清空集合

db.collection.drop()

发布了8 篇原创文章 · 获赞 5 · 访问量 2395

猜你喜欢

转载自blog.csdn.net/qq_46341303/article/details/105369381