欢迎访问我的博客地址 : 博客地址
注:
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});