首页 > 数据库 >2020-2-17-mongodb的使用

2020-2-17-mongodb的使用

时间:2024-03-22 17:03:24浏览次数:31  
标签:20 name 17 mongodb age db 2020 user find

下载地址、安装、启动服务、查看、创建数据库及表、新增数据、删除数据、更新数据、查询数据、索引

下载地址

http://dl.mongodb.org/dl/win32/x86_64

下载名为mongodb-win32-x86_64-2012plus-v4.2-latest-signed.msi的文件


安装

点击下一步,跳过安装mangodb_compass


启动服务

mongod --dbpath pathdir

pathdir就是数据库文件创建的文件夹位置,执行命令后将会在文件夹里生成数据库文件


查看

//查看所有数据库
show dbs

//查看所有表
use db01
show collections

创建数据库及表

use db01
db.user.insert({'name':'张欢','age':21,'sex':'male','job':'coder'})

执行该代码后会新增数据库db01,并且会在里面新增一张表(集合)user,同时里面会有一条数据,如果只想创建表执行db01.createCollection('user')


新增数据

db.user.insert({'name':'张欢','age':21,'sex':'male','job':'coder'})

表里插入一条数据,注意在shell里只允许单条插入


删除数据

//数据库删除
use shop
db.dropDatabase()

//表删除
db.user.drop()

//数据删除
db.user.remove({'age':60},{justOne:true})//删除一条满足该条件的数据
db.user.remove({'age':60})//删除满足该条件的所有数据
db.user.remove({})//删除表里所有数据

更新数据

db.user.update({'name':'欢'},{$set:{'name':'坤坤'}})

注意:仅可对一条数据进行修改


表查询

//查看表中所有数据
db.user.find()

//条件查询
//1)不等式
db.user.find({'age':20})//年龄等于20
db.user.find({'age':{$gt:20}})//年龄大于20
db.user.find({'age':{$lt:30}})//年龄小于30
db.user.find({'age':{$gte:20}})//年龄大于等于20
db.user.find({'age':{$lte:20}})//年龄小于等于30
db.user.find({'age':{$gt:20,$lt:30}})//年龄大于20小于30
//2)包含
db.article.find({'title':/病毒/})
//3)以……开头
db.article.find({'title':/^火神山/})

//查询数据并显示指定字段数据(select age,name,sex from user)
db.user.find({},{'age':1,'name':1,'sex':1})//前一个对象是条件,后一个是要展示的字段

//对查询结果进行排序
//1)升序
db.user.find().sort({'age':1})
//2)降序
db.user.find().sort({'age':-1})

//当前条件下取前5条数据
db.user.find().limit(5)

//取跳过10条数据向后取10条数据
db.user.find().skip(10)

//条件or查询
db.user.find({$or:[{'name':'欢'},{'age':21}]})

//条件and查询
db.user.find({'name':'小毛','age':20})

//结果数量统计
db.user.find().count()

索引

1查询哪些字段设置了索引

db.user.getIndexes()

2设置索引

db.user.ensureIndex({'username':1})

3删除索引

db.user.dropIndex({'username':1})

4复合索引

db.user.ensureIndex({'username':1,'age':-1})

1表示username键按升序存储,-1表示age键按降序存储

5删除复合索引

db.user.dropIndex({'username':1,'age':-1})

6设置唯一索引

db.user.ensureIndex('user_id':1,'unique':true)

7查询语句执行时间

db.user.find({'name':'zhang'}).explain('executionStats')

标签:20,name,17,mongodb,age,db,2020,user,find
From: https://www.cnblogs.com/sylvesterzhang/p/18089842

相关文章

  • 2020-3-1-jsonp原理
    原理ajax请求受同源策略影响,不允许进行跨域请求,而script标签src属性中的链接却可以访问跨域的js脚本,利用这个特性,服务端不再返回JSON格式的数据,而是返回一段调用某个函数的js代码,将数据作为参数,在src中进行了调用,这样实现了跨域。实现代码1服务端//nodejsvarhttp=require......
  • 2020-2-26-koa框架使用
    快速上手、路由、动态路由、获取get值、中间间、koa-views使用、ejs小结、利用中间体配置公共变量、获取post数据、静态web服务、koa-art-template使用、cookies使用、session使用、mongodb数据库封装、路由模块化案例、快速创建koa项目koa-generator快速上手1安装npminstall......
  • 2020-2-20-nodejs基础知识
    vs插件安装、快速运行、url模块使用、自动重启工具supervisor、自定义模块、下载第三方包、fs模块、Async、Await的使用、文件里、简易静态服务器、事件驱动EventEmitter、模拟登陆简单版、模拟express封装、操作mongodb数据库VScode插件安装需要安装NodeSnippets插件才会有提......
  • 2020-3-7-webpack打包工具
    概述、快速使用、配置文件、webpack-dev-server、babel使用概述为优化页面发送多次的二次请求导致加载速度变慢和处理错综复杂的文件依赖关系,则需要将项目中涉及的多个文件进行合并并重新构建。wepack是一个基于node.js项目构建工具,其构建方式是基于项目构建。安装npmiwebp......
  • 2020-5-11-Mybatis
    框架和架构、MyBatis概述、入门、增删改查操作、dao实现类增删改查、引用外部配置文件、配置实体类别名、注册指定包内的dao接口、动态sql、一对多查询、多对多查询、延迟加载、mybatis缓存、注解开发框架和架构1框架软件开发的一套解决方案,不同框架解决不同问题。框架中封装很......
  • 2020-5-5-JAVAWEB
    测试、反射、注解、Mysql、JDBC、Tomcat、servlet、HTTP、EL表达式、JSTL、Filter过滤器、代理模式、监听器、Redis、Maven测试1黑白盒测试黑盒测试:不需要写代码,给输入值,看程序能否给出期望的输出值白盒测试:需要写代码,关注程序具体执行流程2测试步骤1)定义测试类包名:cn.itca......
  • 2020-5-23-Spring
    简介、耦合、控制反转、依赖注入、注解方式反转控制和依赖注入、Spring整合Junit、银行转账案例、代理、AOP面向切面编程、JDBCTemplate简介1核心内容IOC反向控制、AOP面向切面编程2优势方便解耦,简化编程AOP编程支持声明式事务支持方便程序的测试方便集成各种优秀的框架......
  • 2020-1-1-GIT使用经验汇总
    Git安装、创建版本库、同步操作、分支管理、查看版本记录、远程仓库相关操作安装sudoapt-getinstallgit设置用户名和邮箱gitconfig--globaluser.name"yourname"gitconfig--globaluser.email"[email protected]"创建版本库1.创建目录mkdirlearniggitcdlearn......
  • 2020-1-3-ekyll安装使用
    jekyll是一个博客工具,将markdown文件生成静态网页,具有较好的迁移性。安装依赖包RubyRubyGemsNodeJsPython安装完成后重启电脑配置gem镜像$gemsources--addhttps://gems.ruby-china.com/--removehttps://rubygems.org/$gemsources-l安装jeckyll-pagination$g......
  • 2020-1-9-js新特性第二部分
    实现map函数、嵌套函数和闭包、arguments对象、函数参数、关系操作符、遍历数组foreach方法、map对象与object对象的区别、promise对象、生成器实现Map函数传入处理函数和数组,返回值为将数组内的数按照函数规则处理后新生成的数组window.onload=function(){functio......