编辑
2024-07-08
undefined
00
请注意,本文编写于 346 天前,最后修改于 346 天前,其中某些信息可能已经过时。

目录

获取当前数据库名称
创建数据库或选择数据库
查看已有的数据库:
删除数据库
查看数据状态
简单运算
查看数据库相关帮助信息
集合的操作
集合的命名
写入数据
插入多条数据
多维数据对象添加
数组信息的添加
保存数据
数据查询
格式化输出
范围条件查询
限制查询字段
条件查询
自定义条件查询
限制条数
跳过记录行数
排序
数据去重
修改数据
删除数据
删除字段

获取当前数据库名称

bash
db.getName()

创建数据库或选择数据库

bash
use 数据库名

查看已有的数据库:

bash
show dbs 或者 show dababase

删除数据库

bash
use aa db.goods.insert({'name':'zhangsan'}) show dbs use aa db.dropDatabse() show dbs

查看数据状态

bash
db.status()

简单运算

bash
x=100 y=100 x+y …………

查看数据库相关帮助信息

bash
db.help()

集合的操作

bash
// 查看当前数据库已有的集合 show tables // 集合的创建 db.createCollection('goods') //集合的删除 db.goods.drop()

集合的命名

  1. 不能是空字符串(“ ”)
  2. 不能包含\0字符(空字符)
  3. 不能使用system.的前缀(系统保留)
  4. 建议不包含保留字 ”$”
  5. 用.分割不同命名空间的子集合(如:blog.users, blog.posts)

写入数据

python
db.goods.insert({name:'huawei01',price:1000,weight:135,number:35})

该_id字段的内容值 是mongodb本身算法获得出来的,该_id对应的值信息在”全球唯一” 相当于我们mysql表里的主键id,是唯一的。 好处:mongo的数据做升级、迁移比较方便 该_id可以自行设置,但是不推荐,但是现在版本升级以后,是不可以了,报语法的错误。

插入多条数据

python
db.goods.insert([{},{},{}.......])

多维数据对象添加

python
db.goods.insert({name:'xiaomi5',price:1999,weight:156,number:45,area:{province:'beijing',city:'beijing'}})

数组信息的添加

python
db.goods.insert({name:'xiaomimax',price:2000,weight:180,number:100,area:{province:'beijing',city:'beijing'},color:['blank','white','red']})

保存数据

python
db.hero.save({'_id':5,'name':'xiaohong'})

如果在保存数据的时候,所指定的id是存在的,则是修改数据:

数据查询

//查询数据表的全部数据

python
db.数据表.find() //查询数据表的第一条数据 db.数据表.findOne()

格式化输出

bash
db.phthon.find().pertty()

范围条件查询

关键字:gtgt lt gtegte lte mysql关键字: > < >= <=

查询价格大于1005元的商品 db.goods.find({price:{‘$gt’:1005}})

限制查询字段

db.表.find({条件},{字段:1/0,字段:1/0}

条件查询

$or查询,多个条件,满足其一即可 $in和$nin: $all 查询:表示完全匹配

自定义条件查询

bash
db.good.find({'$where':function(){return this.price < 2000>}})

限制条数

bash
db.good.find().limit(1)

跳过记录行数

bash
db.godd.find().skip(1)

分页怎么写?

limit(pageNow-1)*pageSize,2

排序

db.good.find().sort(['price',-1]) db.good.findOne({},sort=['price',-1])

数据去重

db.good.ditinct('去重名称',{条件})

db.good.distinct("price",{number:1000})

修改数据

  1. 有set的修改:只修改设置的字段,其他字段不变化
  2. 没有set的修改:只修改设置的字段,没有修改的字段就删除了 db.集合名.update(条件,数据,[是否新增默认false],[是否修改多条默认false]) 参数说明:
  • 参数3,修改的数据不存在则自动添加,默认false,不添加。
  • 参数4,是否修改所有符合条件的数据,默认false,只修改一条

删除数据

db.集合名.remove(query,justONe) justOne:true/false是否只删除1条,默认为false,就是删除多条数据

删除字段

db.表.update({条件},{'$unset':{'字段':0/1}}) 注意设置的字段0或者是1,都是可以进行删除此字段的 中文文档

本文作者:Eric

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!