• mongoDB基本操作


    创建数据库

    use DATABASE_NAME 如果数据库不存在则创建,否则切换到指定数据库

    db查看当前数据库名

    show dbs 查看所有数据库

    show tables 查看集合

    删除数据库

    db.dropDatabase() 删除当前数据库

    db.collection.drop() 删除集合,collection为集合名,例db.student.drop()

    插入文档

    db.COLLECTION_NAME.insert(document)
    实例

    db.col.insert({
    	title: 'MongoDB教程',
    	tags: ['mongodb', 'database', 'nosql'],
    	url: 'www.runoob.com'
    })
    

    我们也可以把数据定义为变量

    document = ({  // 记得这边有个括号
    	title: 'MongoDB教程',
    	tags: ['mongodb', 'database', 'nosql'],
    	url: 'www.runoob.com'
    })
    
    db.col.insert(document)
    

    插入文档也可以使用 db.col.save(document) 命令,如果不指定 _id 字段save()方法类似
    于 insert()。如果指定 _id 字段,则会更新该 _id 的数据。

    更新文档

    update()方法

    db.collection.update(
    	<query>,  // 查询条件
    	<update>,  //update的对象和一些更新的操作符
    	{
    		upsert: <boolean>,  // 可选
    		multi: <boolean>,   // 可选
    		writeConcern: <document>  // 可选,抛出异常的级别
    	}
    )
    

    例子
    db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})

    以上语句只会修改第一条发现的文档,如果你要修改多条相同的文档,则需要设置multi参数为true

    save()方法

    db.collection.save(
    	<document>, // 传入文档用来替换之前的文档
    	{
    		writeConcern: <document>
    	}
    )
    

    例子

    db.col.save({
    	"_id" : ObjectId("56064f89ade2f21f36b03136"),  // id唯一
        "title" : "MongoDB",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "Runoob",
        "url" : "http://www.runoob.com",
        "tags" : [
                "mongodb",
                "NoSQL"
        ],
        "likes" : 110
    })
    

    删除文档

    db.collection.remove(
    	<query>,       // 可选,删除的文档的条件
    	{
    		justOne:<boolean>,   // 可选,如果为true或1,则只删除一个文档
    		writeConcern: <document>  // 可选,抛出异常级别
    	}
    )
    

    例子
    db.col.remove({'title':'mongodb'})

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

    查询文档

    db.col.find() 查看已插入的文档
    db.col.find().pretty() 输出好看的格式
    db.col.findOne() 只返回一个文档

    条件操作符

    (>) 大于 - $gt
    (<) 小于 - $lt
    (>=) 大于等于 - $gte
    (<= ) 小于等于 - $lte
    db.col.find({"likes" : {$gt : 100}}) 查找likes大于100的数据

    AND条件

    传入多个键值然后逗号隔开
    db.col.find({key1: value1, key2: value2}).pretty()

    OR条件

    	[
    		{key1: value1}, {key2: value2}
    	]
    }).pretty()
    

    $type操作符

    类型 数字
    Double 1
    String 2
    Object 3
    Array 4
    Binary data 5
    Object id 7
    Boolean 8
    Date 9
    Null 10

    不全,完整表格访问这里

    db.col.find({'title' :{$type: 2}}) 如果title为String则输出

    limit and skip

    db.col.find().limit(2) 只读取两条
    db.col.find().limit(1).skip(1) 跳过第一条,只显示第二条
    skip默认为0

    sort()方法

    1升序,-1降序

    db.col.find().sort({key: 1})

    例子
    db.col.find({}, {'title': 1, _id: 0}).sort({'likes': -1})

  • 相关阅读:
    Linux下查看网卡驱动和版本信息
    HTML <!--...--> 标签
    linux物理网卡检测命令mii-tool
    Git错误non-fast-forward后的冲突解决
    ubuntu上解决访问github慢的方法
    右侧添加悬浮打赏功能
    VSCode 预览 .md 文件
    Matlab绘制三维曲面(以二维高斯函数为例)
    matlab的三维绘图和四维绘图
    ubuntu查看文件和文件夹大小
  • 原文地址:https://www.cnblogs.com/chaohangz/p/6722044.html
Copyright © 2020-2023  润新知