尚硅谷MongoDB入门--学习笔记(操作篇)

本文详细介绍了MongoDB的基本操作,包括创建数据库、插入、查询、修改和删除文档,以及各种查询技巧和练习。重点讲解了文档关系、查询方法如limit、skip和sort,并介绍了$操作符的使用。
摘要由CSDN通过智能技术生成


一、创建数据库

1、use 数据库名
使用use时,如果数据库存在则会进入到相应的数
据库,如果不存在则会自动创建
一旦进入数据库,则可以使用db来引用当前库
2、db.collection.insert(文档)
向集合中插入文档,如果集合不存在则创建
3、db.createCollection()
创建一个新的集合
4、db.collection.drop()
删除集合

二、

1、插入文档

doc:文档或文档数组
<1>

db.collection.insert(doc)
  • insert()可以向集合中插入一个或多个文档,分别是传递一个对象,或一个数组。
  • 可以将对象或数组中的对象添加进集合中。
  • 添加时如果集合或数据库不存在,会自动创建。
  • 插入的文档对象会默认添加_id属性,这个属性对应一个唯一的id,是文档的唯一标识。默认会由根据时间戳和机器码生成的ObjectId()来充当,目的就是确保数据唯一性,可以在插入的时候加入_id属性来自己进行添加,而且自己指定也必须确保唯一性.

<2>

db.collection.insertOne(doc)
  • 向集合中插入一个文档

<3>

db.collection.insertMany(doc)
  • 向集合中插入多个文档

例子:

db.stus.insert({
   name:"猪八戒",age:28,gender:"男"});

db.stus.insert([
    {
   name:"沙和尚",age:38,gender:"男"},
    {
   name:"白骨精",age:16,gender:"女"},
    {
   name:"蜘蛛精",age:14,gender:"女"}
]);

db.stus.insert({
   _id:"hello",name:"猪八戒",age:28,gender:"男"});

2、查询文档

condition:查询条件
<1>

db.collection.find()

等同于

 db.collection.find({
   })
  • find()用来查询集合中所有符合条件的文档
  • find()可以接收一个对象作为条件参数
    { }:表示所有文档
    { 属性:值 }:查询属性是指定值的文档
  • 可以根据指定条件从集合中查询所有符合条件的文档
  • 返回的是一个数组

<2>

db.collection.findOne(condition)
  • 查询第一个符合条件的文档
  • 返回的是一个文档对象

<3>

db.collection.find(condition).count()
  • 查询符合条件的文档的数量

例子:

db.stus.find({
   _id:"hello"});
db.stus.find({
   age:16 , name:"白骨精"});
db.stus.find({
   age:28});
db.stus.findOne({
   age:28});

db.stus.find({
   }).count();

3、修改文档

condition:条件,new object:新的对象
<1>

db.collection.update({
   condition},{
   new object})
  • 可以修改、替换集合中的一个或多个文档
  • update()默认情况下会使用新对象来替换旧的对象
    如果需要修改指定的属性,而不是替换需要使用“修改操作符”来完成修改
    $set 可以用来修改文档中的指定属性
    $unset 可以用来删除文档的指定属性
  • update()默认只会修改一个,即当有多个文档满足条件的时候,只会修改第一个匹配到的文档。若想修改多个,可以加入multi属性,即multi:true即可把匹配到的全部修改。

<2>

db.collection.updateOne({
   condition},{
   new object})
  • 修改集合中的一个文档

<3>

db.collection.updateMany({
   condition},{
   new object})
  • 修改集合中的多个文档

<4>

db.collection.replaceOne()
  • 替换集合中的一个文档

例子:

//替换
db.stus.update({
   name:"沙和尚"},{
   age:28});

db.stus.update(
    {
   "_id" : ObjectId("59c219689410bc1dbecc0709")},
    {
   $set:{
   
        gender:"男",
        address:"流沙河"
    }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值