mongodb数据库

欢迎访问我的博客地址 : 博客地址

注:

1.mongodb存储的是文档,且文档是json格式的对象,所以增删改查都必须是json格式对象。
2.mongodb常用库和表操作,但mongodb在插入数据时,不需要先创建表。

show databases;     //查看已有数据库
use dataName;       //选择数据库,如果不存在库,则会自动创建。
show tables;        //查看已有的表
show collections    //同上,
db.createCollection('表名');//建表
db.表名.drop();     //删除表

:table在mongodb里叫collections

1.增加数据

语法: db.collectionName.isnert(document) ```js //不指定文档的id,数据库会默认分配一个随机id db.user.insert({name:'zhaos',age:23,sex:'f'}); //指定文档的id db.user.insert({_id:5,name:'zhaos',age:23,sex:'f'}); //增加单个文档 db.user.insertOne({_id:6,name:'zhaos',age:23,sex:'f'}); //增加多个文档 db.user.insertMany([{_id:2,name:'zhangs',age:21,sex:'m'}, {_id:3,name:'wangw',age:22,sex:'m'}, {_id:4,name:'zhaos',age:23,sex:'f'}]); ``` 特别对于自动生成的id解释一下,MongoDB采用了一个ObjectId的类型来做主键,ObjectId是一个12字节的 BSON 类型字符串,按照字节顺序,依次代表:

(1)、4字节:UNIX时间戳
(2)、3字节:表示运行MongoDB的机器
(3)、2字节:表示生成此_id的进程
(4)、3字节:由一个随机数开始的计数器生成的值

2.删除数据

语法: db.collection.remove(查询表达式, 选项)。选项是指需要删除的文档数,{0/1},默认是0,删除全部文档 ```js //将所有_id=7的文档删除 #官方不推荐使用了 db.user.remove({_id:7}) ;

//删除一条id为7的数据
db.user.deleteOne({_id:7});

//删除所有name="张三"的数据
db.user.deleteMany({name:“张三”});

//清空数据库
db.user.deleteMany({});


# 3.查找数据
<font size="4">
语法: db.collection.find(查询表达式,查询的列)
</font>
```js
//查询一个表中的所有数据  
db.user.find();

//格式化查看,其实就是美化,可能不支持部分windows
db.user.find().pretty();


//查询特定属性的文档
db.user.find({_id:3});

//查询所有文档,显示gender列,不显示id
db.user.find({},{gender:1,_id:0});

//查询符合条件的第一条
db.user.findOne({"name":"ryxiong"});

//查询所有gender:'m'的文档,显示gender列,age列,不显示id
db.user.find({gender:'m'},{gender:1,_id:0,age:1});

4.编辑数据

语法: db.collection.update(查询表达式,新值) ```js //从结果可以看出,这只是在替换一个文档,并非修改一个文档字段

db.user.update({name:‘zhangs’},{name:‘liul’}) WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 });
db.user.find();{ “_id” : 2, “name” : “liul” };

//修改一个文档的字段,必须使用KaTeX parse error: Expected '}', got 'EOF' at end of input: …name:'zhaos'},{set:{name:‘kongkong’}})WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 });
db.user.find();{ “_id” : 6, “name” : “kongkong”, “age” : 23, “sex” : “f” };

修改时的赋值表达式
KaTeX parse error: Expected '}', got 'EOF' at end of input: …e({name:'张三'},{set:{name:‘李四’}});

KaTeX parse error: Expected '}', got 'EOF' at end of input: …e({name:'张三'},{unset:{name:‘张三’}});

KaTeX parse error: Expected '}', got 'EOF' at end of input: …pdate({_id:6},{rename:{sex:‘class’}}) ;
eg:db.user.update({},{$rename:{‘sex’:‘class’}},{multi:true});

KaTeX parse error: Expected '}', got 'EOF' at end of input: …pdate({_id:6},{inc:{age:2}});
KaTeX parse error: Expected '}', got 'EOF' at end of input: …pdate({_id:7},{setOnInsert:{age:5,gender:‘f’}},{upsert:true});


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小钱要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值