MongoDB基础语法(笔记)

本文详细介绍了MongoDB的常用语法,包括选择和创建数据库、插入和查询文档、修改和删除文档、统计条数、模糊查询、条件查询等操作,还提及了大于、小于等比较操作及列值增长的实现方法,为使用MongoDB提供了实用的参考。

MongoDB语法:

好记性不如烂笔头,先记下咯

选择和创建数据库
  • show dbs;//查看所有的数据库
  • db;//查看当前窗口所在的数据库
  • use 数据库名;//如果数据库不存在,则创建数据库,否则切换到指定数据库。
  • 注:show dbs执行结果没有看到test库,但是db查看当前库确是test库,因为test库中刚开始没有任何数据并且是在内存中的,有了数据后就会显示出来了(其他新创建的数据库也是如此)
  • db.dropDatabase();//删除当前数据库,默认为 test,故要切换到某个数据库下进行删除
插入和查询文档
  • 插入文档的语法格式:

    db.集合名称.insert({BSON格式的数据})

  • 查询集合的语法格式:

    db.集合名称.find()

  • 查询用户id是233的数据

    db.集合名称.find({userId: ‘233’})

  • 只查询一条

    db.集合名称.findOne({userId: ‘233’})

  • 返回指定条数的记录

    db.集合名称.find().limit(3)

修改和删除文档
  • 修改文档的语法结构:

    Db.集合名称.update(条件,修改后的数据)

  • 如果我们想修改_id为1的记录,名称为张三,输入以下语句:_

    Db.集合名称.update({_Id:ObjectId(1)}, {name:’张三’})

  • 执行后,我们会发现,这条文档除了name字段其它段都不见了,为了解决这个问题, 我们需要使用修改器$set来实现,命令如下:

    Db.集合名称.update({_Id:1}, {$set:{name:’张三’}})

  • 删除文档的语法结构:

    Db.集合名称.remove(条件)

  • 以下语句可以将数据全部删除,请慎用

    Db.集合名称.remove({})

统计条数

统计记录条件使用count()方法:

​ Db.集合名称.count()

​ Db.集合名称.count(条件)

模糊查询

MongoDB的模糊查询是通过正则表达式的方式实现的。格式为: /字符串/

  • 比如标题中包含java的帖子

    Db.集合名称.find(title:/java/)

  • 比如查询以“张”开头的名字

    Db.集合名称.find(name: /^张/)

大于 小于 不等于 包含 不包含

大于:gt,小于gt,小于gtlt,大于等于gte,小于等于gte,小于等于gtelte,不等于ne,包含ne,包含nein,不包含$nin

  • 查询阅读数大于10的帖子

    Db.集合名称.find({readNum:{$gt:10}})

  • 查询评论集合中userid字段不包含1013和1014的文档

    Db.集合名称.find({userId: {$nin:[‘1013’, ‘1014’]}})

条件查询
  • 我们如果需要查询同时满足两个以上条件,需要使用$and操作符将条件进行关联。

格式为: $and:[ { },{ },{ } ]

  • 示例:查询帖子集合中readNum大于等于1000 并且小于2000的文档

    Db.集合名称.find( {KaTeX parse error: Expected '}', got 'EOF' at end of input: …d: [ {readNum:{gte:1000}}, {readNum:{$lte: 2000}} ]} )

  • 如果两个以上条件之间是或者的关系,我们使用or用法和and相同:or 用法和and相同:orandor:[ { },{ },{ } ]

  • 列值增长

    如果我们想实现对某列值在原有值的基础上进行增加或减少,可以使用$inc运算符来实现

    Db.集合名称.update({_id:1}, {$inc:{readNum:NumberInt(2)}})

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值