文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mongodb入门命令

2024-04-02 19:55

关注

1: mongo入门命令

1.1: show dbs 查看当前的数据库

mongodb入门命令

(admin是管理相关的,用户操作、安全配置等需要切换到该数据库下。local放其他数据库的信息。test自己随意。)
1.2 use databaseName 选库
1.2 show tables/collections 查看当前库下的collection(表)

db.help()查看帮助

1.3 如何创建库?
Mongodb的库是隐式创建,你可以use 一个不存在的库
然后在该库下创建collection,即可创建库

1.4 db.createCollection(‘collectionName’)
创建collection

1.5 collection允许隐式创建
Db.collectionName.×××ert(document);
例子:

db.user.×××ert({name:'lisi',age:18})
WriteResult({ "nInserted" : 1 })
db.user.×××ert({name:'zhangsan',age:22,gender:'male'})
WriteResult({ "nInserted" : 1 })
db.user.×××ert({name:'tingting',age:20,gender:'female',bobby:['sleep','shopping']})
WriteResult({ "nInserted" : 1 })
db.user.find();
{ "_id" : ObjectId("5c8ce520a8f7096660e878a3"), "name" : "lisi", "age" : 18 }
{ "_id" : ObjectId("5c8ce53aa8f7096660e878a4"), "name" : "zhangsan", "age" : 22, "gender" : "male" }
{ "_id" : ObjectId("5c8ce669a8f7096660e878a5"), "name" : "tingting", "age" : 20, "gender" : "female", "bobby" : [ "sleep", "shopping" ] }
(当然可以自定义_id,但是......)
1.6 db.collectionName.drop() ,
删除collection

1.7 db.dropDatabase(); (删除当前所在的数据库)
删除database


//选择库

use testing_base;

//创建表

db.createCollection("the_table");

//单个插入数据

db.getCollection("the_table").×××ert({"name":"张三","age":16,"address":"长安街"});

//批量插入数据:

db.getCollection("the_table").×××ertMany([
{"name":"朱小二","age":20,"address":"北京"},
{"name":"张三疯","age":50,"address":"湖北"},
{"name":"慕容嘿嘿","age":30,"address":"河北"}
])

//查询全部

db.the_table.find();
db.getCollection("the_table").find();

//查询指定的

db.the_table.find({name:'我要改了他的名字'});
db.getCollection("the_table").find({"name":"张三","age":16});

//$gt:大于
//$gte:大于等于
//$lt:小于
//$lte:小于等于
//$ne:不等于

//大于等于

db.getCollection("the_table").find({"age":{"$gte":30}});

//大于等于20,小于等于30

db.getCollection("the_table").find({"age":{"$gte":20, "$lte":30}});

//查询“age”大于21 并小于等于24 ,且“ name”不为“朱小二”的数据

db.getCollection("the_table").find({"age":{"$gt":21,"$lte":30},"name":{"$ne":"朱小二"}});

//db.getCollection('table_name').find(用于过滤记录的字典,用于限定字段的字典)
//无特定设置则_id默认会显示
//如果不考虑“ id ”,则限定字段的字典里面的值只可能全都是0 或全都是1,不可能l和0混用,一旦混用则M ongoDB 就会报错

//不查询字段address和age

db.getCollection("the_table").find({},{"address":0,"age":0});

//要求只返回name 字段和age 字段,则查询语句如下:

db.getCollection("the_table").find({},{"address":1,"age":1});

//count的用法

db.getCollection("the_table").find({"age":{"$gt":10}}).count();

//限定返回结果limit (limit(1)默认返回第一条)

db.getCollection("the_table").find().limit(1);

//对结果排序sort (字段的值为-l表示倒序,为l表示正序)

db.getCollection("the_table").find({"age":{"$gt":10}}).sort({"age":-1});

//更新操作
//• updateOne : 只更新第l 条满足要求的数据。
//• updateMany : 更新所有满足要求的数据。
//修改“ name ”为“ 张三疯”的文档, 添加“dizhi”字段(没有就是添加),并把“age”宇段从“50”改为“123”

db.getCollection("the_table").updateMany({"name":"张三疯"},{"$set":{"dizhi":"武当","age":123}});

//删除数据(将find替换为delete/deleteMany)
//慎用删除功能,一般工程上会用逻辑删除,如在文档里加个del字段,为0表示删除,1未删除
//• “delete” (如果只删除第1 条满足要求的数据)
//• “deleteMany” (如果要删除所有满足要求的数据〉

//删除age为666的所有数据

db.getCollection("the_table").deleteMany({"age":666});

//数据去重
//db.getCollection('the_table').distinct(’字段名’,查询语句的第一个字典)
//distinct()可以接收两个参数:
//• 第1 个参数为字段名, 表示对哪一个字段进行去重。
//• 第2 个参数就是查询命令" find()”的第l 个参数。distinct命令的第2个参数可以省略。

db.getCollection("the_table").distinct("name"); //(返回的值是一个数组,是去重以后的值)

//对age大于10的记录的name字段去重

db.getCollection("the_table").distinct("name",{"age":{"$gt":10}});

//能否去重以后再带上其他字段呢? 答案是,但用“ distinct() ”命令不能实现

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯