zoukankan      html  css  js  c++  java
  • MongoDB Shell 了解使用

    配置环境变量

    WIN10系统:右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:Program FilesMongoDBServer3.0in

    如果不配置环境变量,则需到C:Program FilesMongoDBServer3.0in目录,执行mongo.exe文件。

    下图直接cmd,命令mongo,表示连接成功。

    Shell的一些操作

    命名规范

    • 不能是空字符串("")。
    • 不得含有 ' '(空格)、.、$、/、和 (空字符)。
    • 应全部小写。
    • 最多64字节。
    • 一些系统关键字。

    1、创建一个数据库,执行下面命令。example:数据库名(如果只创建数据库,而不做处理,这个空数据库会被删除。)

    use example

    2、查看所有数据库 (验证上面的创建的数据,下面不存在。)

    show dbs

    3、给指定数据库添加集合并添加记录。 user:集合名 insert:插入一条记录

    > db.user.insert({name:'yujie'})
    > WriteResult({ "nInserted" : 1 }) --表示成功

    再show dbs查看,数据库创建成功。

    4、查看所有文档

    show collections

    5、查看user文档中的所有记录

    > db.user.find()
    { "_id" : ObjectId("598c05e503bd136ff3ea0257"), "name" : "xiaoming" }

    6、查看user文档中的第一条记录

    > db.user.findOne()
    { "_id" : ObjectId("598c05e503bd136ff3ea0257"), "name" : "xiaoming" }

    7、更新文档数据 update({查询条件},{更新内容})

    > db.user.update({name:'xiaoming'},{$set:{name:'小明'}})
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.user.find()
    { "_id" : ObjectId("598c05e503bd136ff3ea0257"), "name" : "小明" }

    6、删除文档数据 remove({条件})

    > db.user.insert({name:'zhangsan'}) --先插入一条
    WriteResult({ "nInserted" : 1 })
    
    > db.user.find() --再查询
    { "_id" : ObjectId("598c05e503bd136ff3ea0257"), "name" : "小明" }
    { "_id" : ObjectId("598c0b0603bd136ff3ea0258"), "name" : "zhangsan" }
    
    > db.user.remove({name:'zhangsan'}) --再删除
    WriteResult({ "nRemoved" : 1 })
    
    > db.user.find() --再查询
    { "_id" : ObjectId("598c05e503bd136ff3ea0257"), "name" : "小明" }

    7、删除数据库 db.dropDatabase()

    > use delectdb --创建数据库
    switched to db delectdb
    
    > db.dropDatabase() --删除数据库
    { "ok" : 1 }

    8、帮助 db.help() -- db.数据库名.help()

    MongoDB语法与关系型数据库SQL语法比较

    MongoDB语法MySql语法
    db.test.find({'name':'foobar'}) select * from test where name='foobar'
    db.test.find() select * from test
    db.test.find({'ID':10}).count() select count(*) from test where ID=10
    db.test.find().skip(10).limit(20) select * from test limit 10,20
    db.test.find({'ID':{$in:[25,35,45]}}) select * from test where ID in (25,35,45)
    db.test.find().sort({'ID':-1}) select * from test order by ID desc
    db.test.distinct('name',{'ID':{$lt:20}}) select distinct(name) from test where ID<20
    db.test.find('this.ID<20',{name:1}) select name from test where ID<20
    db.test.insert({'name':'foobar','age':25}) insert into test ('name','age') values('foobar',25)
    db.test.remove({}) delete * from test
    db.test.remove({'age':20}) delete test where age<20
    db.test.remove({'age':{$lte:20}}) delete test where age<=20
    db.test.remove({'age':{$gt:20}}) delete test where age>20
    db.test.remove({'age':{$gte:20}}) delete test where age>=20
    db.test.remove({'age':{$ne:20}}) delete test where age!=20
    db.test.update({'name':'foobar'},{$set:{'age':36}}) update test set age=36 where name='foobar'
    db.test.update({'name':'foobar'},{$inc:{'age':3}}) update test set age=3 where name='foobar'
  • 相关阅读:
    优先级管理器 IPriorityManager -- ESBasic 可复用的.NET类库(14)
    对象获取器IObjectRetriever -- ESBasic 可复用的.NET类库(17)
    定时刷新缓存管理器 IRefreshableCacheManager --ESBasic 可复用的.NET类库(16)
    TopN排行榜容器 TopNOrderedContainer -- ESBasic 可复用的.NET类库(20)
    回调定时器ICallbackTimer --ESBasic 可复用的.NET类库(07)
    Linux kernel data types, alignment, compat_ioctl 数据类型,对齐问题和compat_ioctl
    ubnutu开启daytime服务
    从长春到深圳“一个人的旅行”第二篇
    多客户模式

  • 原文地址:https://www.cnblogs.com/dancesir/p/9267797.html
Copyright © 2011-2022 走看看