Mongodb的基本语法

前段时间工作上面由于没有多少事所以玩了玩mongodb,学习了它的基本语法,然后现在在这里做一个简单的总结。

1.我是在win平台上面,启动的话比较麻烦,所以我就简单的把启动过程做了个批处理文件

启动脚本

:启动mongodb的批处理文件,到mongodb的bin目录下面
    D:
    cd "Program Files"
    cd MongoDB\Server\3.2\bin
:其中D盘下面的data,db目录是自己手动创建的
:启动带有的参数 --auth(开启用户访问权限)
:--dbpath(数据存储路径)
    mongod.exe --auth --dbpath D:\data\db

2.一些简单基本语法

#创建或者切换数据库
use admin
#查询方法
db.system.users.find()
#格式化的查询结果
db.userinfo.find().pretty()

查询比较符
等于    {<key>:<value>}    db.col.find({"by":"菜鸟教程"}).pretty()    where by = ‘菜鸟教程‘
小于    {<key>:{$lt:<value>}}    db.col.find({"likes":{$lt:50}}).pretty()    where likes < 50
小于或等于    {<key>:{$lte:<value>}}    db.col.find({"likes":{$lte:50}}).pretty()    where likes <= 50
大于    {<key>:{$gt:<value>}}    db.col.find({"likes":{$gt:50}}).pretty()    where likes > 50
大于或等于    {<key>:{$gte:<value>}}    db.col.find({"likes":{$gte:50}}).pretty()    where likes >= 50
不等于    {<key>:{$ne:<value>}}    db.col.find({"likes":{$ne:50}}).pretty()    where likes != 50
#查询年纪大于等于25的信息
db.userinfo.find({"age":{$gte:25}}).pretty()

#查询age字段是String类型的记录。显示的结果集(默认显示_id字段)只有user_name和age这两个字段。
    db.userinfo.find({"age":{$type:2}},{_id:0, "user_name":1, "age":1})

#删除用户
db.dropUser(‘root‘)
#创建新的用户

db.createUser({‘user‘:‘root‘, ‘pwd‘:‘000000‘,‘roles‘:[{‘role‘:‘readWrite‘, ‘db‘:‘mytest‘}, {‘role‘:‘readWrite‘, ‘db‘:‘admin‘}]})

#mongodb创建集合对象 db.XXX:表示如果XXX存在则往这里直接插入数据,如不存在,则创建对应的集合
#插入数据     db.COLLECTION_NAME.insert(document)
db.userinfo.insert([{user_name:‘1‘, age:10, sex:1},{user_name:‘2‘, age:10, sex:0}])
#mongodb更新语句更新单条语句  如果 $set字段不存在,若键不存在,会新建
db.item_info.update({"item_id":"c9aea5ea-c29d-43ec-8205-fdb1e69934b7"},{$set:{"item_name":"test_update", "test":"test_add"}})
$unset关键字,删除对应的key值
去除【item_name】、【test】这两个key
 db.item_info.update({"item_id":"c9aea5ea-c29d-43ec-8205-fdb1e69934b7"},{$unset:{"item_name":"test_update", "test":"test_add"}})

#mongodb更新语句更新多条语句
db.userinfo.updateMany({"user_name":"1"}, {$set:{"user_name":"nie"}})
#更新age字段<= 20的字段为wewe值
db.userinfo.updateMany({"age":{$lte:20}}, {$set:{"age":"wewe"}})

#mongodb删除语句
db.userinfo.remove({"user_name":"2"})

删除所有数据
db.userinfo.remove({})

#type
$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。
// 查询age字段是string类型的所有记录
db.userinfo.find({"age":{$type:2}})

#MongoDB sort()方法

在MongoDB中使用使用sort()方法对数据进行排序,sort()方法可以通过参数指定排序的字段,

并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列。

db.userinfo.find({},{_id:0,"user_name":1, "age":1}).sort({"age":1}).pretty()

#创建索引 过在创建索引时加background:true 的选项,让创建工作在后台执行

db.userinfo.ensureIndex({"user_name":1},{background:true})

最大范围

  • 集合中索引不能超过64个
  • 索引名的长度不能超过125个字符
  • 一个复合索引最多可以有31个字段

#MongoDB 聚合函数

#删除
    db.item_info.deleteOne({"item_name":"update_item_name"})
    db.item_info.find({"item_name":"update_item_name"}).count()
            DeleteResult delete = item.deleteMany(Filters.eq("item_name", "update_item_name"));
            System.out.println(delete.getDeletedCount());

#mongodb语句explain
> db.item_info.find({}).explain()
{
        "queryPlanner" : {
                "plannerVersion" : 1,
                "namespace" : "test.item_info",
                "indexFilterSet" : false,
                "parsedQuery" : {
                        "$and" : [ ]
                },
                "winningPlan" : {
                        "stage" : "COLLSCAN",
                        "filter" : {
                                "$and" : [ ]
                        },
                        "direction" : "forward"
                },
                "rejectedPlans" : [ ]
        },
        "serverInfo" : {
                "host" : "Lenovo-niejian",
                "port" : 27017,
                "version" : "3.2.8",
                "gitVersion" : "ed70e33130c977bda0024c125b56d159573dbaf0"
        },
        "ok" : 1
}

#mongodb语句like(正则表达式)

如果检索需要不区分大小写,我们可以设置 $options 为 $i。
以下命令将查找不区分大小写的字符串 w3cschool.cc

db.posts.find({post_text:{$regex:"w3cschool.cc",$options:"$i"}})

db.item_info.find({"item_id":{$regex: /c9aea5ea/}})
时间: 2024-12-24 12:27:41

Mongodb的基本语法的相关文章

mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)

1 ) . 大于,小于,大于或等于,小于或等于 $gt:大于$lt:小于$gte:大于或等于$lte:小于或等于 例子: db.collection.find({ "field" : { $gt: value } } ); // greater than : field > valuedb.collection.find({ "field" : { $lt: value } } ); // less than : field < valuedb.coll

mongoDB 高级查询语法

http://www.cnblogs.com/ITAres/articles/2084794.html本文参考自官方的手册:http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-ConditionalOperators%3A%3C%2C%3C%3D%2C%3E%2C%3E%3D 1 ) . 大于,小于,大于或等于,小于或等于 $gt:大于 $lt:小于 $gte:大于或等于 $lte:小于或等于 例子: db.c

mongoDB的常用语法

安装 到mongodb官网下载安装包或者压缩包:https://www.mongodb.com/download-center?jmp=nav 1.如果是msi包的话则点击按步骤安装,如果是压缩包的话不用安装: 2.配置环境变量:将mongodb的bin目录配置到环境变量的path中,或者新建MONGODB_HOME再配置到path中: 3.新建文件夹作为存放mongo的数据的地方,然后在dos窗口中执行:mongod --dbpath=E:/mongodbIndex (path后面跟要存放数据

mongodb driver c#语法

Definitions and BuildersThe driver has introduced a number of types related to the specification of filters, updates, projections, sorts, and index keys. These types are used throughout the API. Most of the definitions also have builders to aid in th

mongodb 创建更新语法

创建文档 向MongoDB插入数据,使用insert, 如:db.refactor.insert({"refactor's blog":"http://www.cnblogs.com/refactor"}) 这个操作会给 文档 增加 一个"_id",键,并保存在数据库中. 批量插入 如果要插入多个文档,使用批量插入会快一些,批量化插入能传入一个有文档构成的数据给数据库 一次批量插入只是单个的TCP请求,避免了许多零碎的请求带来的开销.由于无需处理

Mongodb大数据语法大全

JSON和MONGODB JSON不止是一种交换数据的方式,也是一种存储数据的良好方式,实际上MONGODB并未使用JSON存储数据,而是使用由MONGODB团队开发的一种称为BSON的开放数据格式. 面向文档存储BSON BSON是一个开放标准,BSON存储使用的空间比JSNO(CouchDB一个强大的面向文档数据库)多在相同版本情况下. 1.处理数据比JSON快,消耗一定的存储空间,简单说BSON更方便浏览,遍历索引页非常快. 2.使用BSON容易将它数据快速转换为编程余元的原生数据格式 3

mongodb和mysql语法对比

MySQL: SELECT * FROM user Mongo: db.user.find() -------------- MySQl: SELECT * FROM user WHERE name = 'foobar' Mongo: db.user.find({ 'name' : 'foobar' }) -------------- MySql: INSERT INTO user ('name','age') VALUES ('foobar',25) Mongo: db.user.insert

mongodb 学习

该命令如果数据库不存在,将创建一个新的数据库, 否则将返回现有的数据库.如果想创建一个数据库名称为 <mydb>, 那么 use DATABASE 语句应该如下: >use mydb switched to db mydb=============================================================================要检查当前选择的数据库使用命令 db >db mydb============================

关于 mongoDB

官网:mongodb.org 国内中文社区:mongoing.com 1. ubantu 下通过 synaptic package manager 安装 mongoDB. 2. 使用 sudo mongod 开启服务. 3. 使用 sudo mongo 127.0.0.1:27017 连接到默认的 test . 4. use admin 切换到 admin , [ db.shutdownServer() 关闭服务 ]. 5. 通过 db 命令查看当前的数据库,show dbs 查看所有的数据库.