• linux下的mongodb数据库原生操作


    mongodb,是一种结构最像mysql的nosql

    mysql中的数据库,mongodb中也有,区别在于,

    myql中数据库下的是表,字段和数据的形式存在

    mongodb数据库下的是叫集合(和python中的集合不是一个概念),文档,字典的形式存在

    而mysql,redis,mongodb,三者的区别:

    mysql适合长期保存,可存储的数据量大,时间长

    redis存储时间短,但调用反应快,时间短,适合一直在不停的变化的数据

    mongodb存在于两者中间,速度一般,保存时间一般,适合一段时间查看一次的数据(个人理解,勿喷)

    进入mongodb

    mongo

    退出mongodb

    exit()

    查看所有的库

    show dbs

    进入数据库:mongodb没有创建数据库的操作,只用进入不存在的库,然后创建一个集合,数据库就算建好了

    use 库名

    删除数据库:必须在进入到了需要删除的数据库下,在输入下面代码,才能删除

    db.dropDatabase()

    进入数据库后,查看数据库下的集合

    show collections

    删除数据库下的某个集合

    db.集合名.drop()

    插入数据到集合中

    db.集合名.insert({name:'pywjh', age:22})

    查看集合内容:集合中的每条数据都会自带一条{"_id" : ObjectId("5b73e63943494008f8a8111b"}的系统ID,可以自己声明ID,不然会系统自动生成

        ID是唯一的,不能重复!

    db.集合名.find()


    { "_id" : ObjectId("5b73e63943494008f8a8111b"), "name" : "pywjh", "age" : 22 }

    注意:查询结果最多显示20条,可以用DBQuery shellBatchSize=30 更改

    查看集合内容:(自带美颜的查询方法)

    db.集合名.find().pretty()        也叫美观查询

    集合中的条件查询

    db.集合名.find({name:'pywjh'})
    或者
    db.集合名.find({age:22})
    
    都会返回:  { "_id" : ObjectId("5b73e63943494008f8a8111b"), "name" : "pywjh", "age" : 22 }

    如果数据较多,只需要查看某些特定的数据内容,可以设置打印内容

    db.集合名.find({name:'pywjh'}, {age:1})    
    '1'表示布尔值,True 这里是表示搜索name为pywjh的数据,只打印age db.集合名.find({name:'pywjh'}, {age:0})
    '0'表示除了age不打印,其余的都要打印

    集合中更新数据

      全文档更新:

    db.集合名.update({name:'pywjh'},{xxx:'yyy'})
    前一个大括号表示搜索数据位置,后一个大括号表示更新内容, 全文档更新表示将搜索出的数据,直接改变,直接覆盖,慎用

      指定属性,单条更新:$set

    db.集合名.update({name:'pywjh'},{$set:{name:'xxx',age:44}})    如果搜索的条件出现多个结果,此操作只会更改一条数据(从上到下)

      指定属性,多条更新:{multi:true}

    db.集合名.update({name:'pywjh'},{$set{name:'yyy',age:33},{multi:true}})

    集合中删除数据

      多条删除

    db.集合名.remove({name:'xxx'})     

      单条删除:{justOne:true}

    db.集合名.remove({name:'yyy'}, {justOne:true})     只会删除一条数据,从上到下
  • 相关阅读:
    [Leetcode] Rotate Image
    [Leetcode] Permutation Sequence
    [Leetcode] Palindrome Partitioning
    [Leetcode] Letter Combinations of a Phone Number
    Java里的多线程
    css学习2----css动态菜单
    css学习1----css超链接效果
    javascript判断身份证是否合法
    RMI(Remote Method Invocation,远程方法调用)
    struts.properties配置详解
  • 原文地址:https://www.cnblogs.com/pywjh/p/9482579.html
Copyright © 2020-2023  润新知