• Mongodb常用知识点


    结构:
    database 数据库

    collection 数据库表/集合

    document 数据记录行/文档

    field 数据字段/域

    index 索引

    primary key 主键,mongodb自动将_id字段设置为主键

    常用指令:

    db.help():查看库方法

    db.mycoll.help():查看集合方法

    show dbs :查看所以库

    use 库名 切换库,库不存在就自动创建它

    db.getName() :查看当前操作库的名称

    添加数据:

    mongodb中存储数据的格式是文档格式,以bson格式的文档形式

    添加数据:
    db.集合.insert();

    #例
    db.集合.insert({name:'xxx',sex:'nv',age:18})

    多维数据添加:

    #例
    db.集合.insert({name:'xxx',age:20,area:{city:'beijing'}})

    查询数据:

    db.集合名称.find(查询条件)  取出符合条件的所有

    db.集合名称.findOne(查询条件)  取出符合条件的第一条,并且以格式化形式返回

    1.条件限制查询

    #例
    db.集合.find({name:'xxx'})
    
    db.集合.findOne({name:'xxx'});

    2.范围条件查询:

    在mysql中常用 < > <= >= 进行范围内的查找,在mongodb中用

    $lt $gt $lte $gte  进行限制

    #例
    db.集合.find({age:{'$lt':20}})

    3.多个条件查询:

    类似与and

    #例
    db.集合.find({age:{'$lt':20},monry:{'$lte':20000}})

    4.多维字段查询:

    db.集合.find({'xxx.xx':xxx});

    #例
    db.集合.find({'area.city':'beijing'});

    5.数组条件查询:

    #例 满足查询条件所有的才可显示
    db.集合.find({xxx:{'$all':['xxx','xxx']}})

    6.限制查询字段:

    在开发过程中,不需要查询并显示太多的字段,可以选择设定显示

    db.集合.find({查询条件},{筛选条件});

    #例
    db.集合.find({xxx:{'$all':['xxx','xxx']}},{xxx:1,xxx:0})

    7.$or查询:

    满足一个条件就可以显示

    #例
    db.集合.find({'$or':[{price:{'$gt':500}},{num:{'$gte':100}}]});

    8.count语法:

    db.集合.count() 

    限制条件:

    #例
    db.集合.find({num:{'$gt':50}}).count();
    #或
    db.集合.count({num:{'$gt':50}});

    9.limit语法 skip语法:

    类似于mysql中的limit(skip,length)语法

    limit() 取几个

    skip() 跳过几个

    #例
    db.集合.find().limit(1);
    
    db.集合.find().skip(1).limit(1)

    修改数据:

    语法:db.集合.update({查询条件},{修改条件})

    db.集合.updateOne({查询条件},{修改条件})

    #例
    db.集合.update({name:'xxx'},{'$set':{price:5554}})
    
    db.集合.updateOne({name:'xxx'},{'$set':{price:5554}})

    如果没有$set关键字语法,把设置的字段进行修改,没有设置的就会被删除掉

    删除数据:

    db.集合.remove({查询条件})

    db.集合.deleteOne({查询条件})

    db.集合.deleteMany({查询条件})

    删除字段:

    可以删除某个字段的操作,使用的是update语法的$unset

    #例 值随便给一个
    db.集合.update({name:'xxxx'},{'$unset':{xxx:0}})

    mongodb账号权限:

    切换到admin库,进行用户创建

    db.createUser({user:'用户名',pwd:密码",roles:['root']})

    db.shutdownServer():关闭mongod服务

    PHP中操作mongodb:

    linux下在php.ini中开启extension=mongo.so加载扩展,需要提前编译好mongo扩展

    win下将php_mongo.dll扩展放在ext中,在php.ini里开启extension=php_mongo.dll扩展

     需要示例化mongoclient 扩展类,构造方法参数传“mongodb://ip”,

    #例
    #连接mongodb $mongo
    =new MongoClient('mongodb://192.168.0.0')

    权限的账号:

    #例
    #端口号 设置的27017
    $mongo=new MongoClient('mongodb://账号名:密码@192.168.0.0:2017/admin')

    加载数据库:

    #例
    $database=$mongo->要加载的库名

    选择集合(也就是数据表)

    #例
    #选择集合
    $collection = $database->集合;

    查询数据:

    #例
    $collection -> find(array('name'=>'xioming'),array('_id'=>0));

    修改数据:

    #例 前面是查询条件,后面是修改数据
    $collection->update(array('name'=>'xiaoming'),array('$set'=>array('age'=>19)))

    删除数据:

    #例
    $collection->remove(array('name'=>'xiaoming'));

    未完待续~~~~~~~~

  • 相关阅读:
    ASPNETDB 数据库关系图、表和视图 基本表和独立表(转载)
    Android工作学习笔记之图片自适应imageview属性android:scaleType
    Android 为不同的语言和硬件创建资源
    asp.net mvc 将Enum绑定在DropDownList了
    java异常处理的throw和throws的区别
    media=screen是什么意思 有什么用?
    javascript 匿名函数
    CharSequence类型
    android使用系统资源,链接当前主题中的Style
    Android中this.*与*.this还有*.class的区别是什么?
  • 原文地址:https://www.cnblogs.com/bjphp/p/8531821.html
Copyright © 2020-2023  润新知