mongodb基础语法

Posted amberLIU

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb基础语法相关的知识,希望对你有一定的参考价值。


Mongodb与关系型数据库最大的区别就是无约束, 既无字段(外键等)约束, 也没有数据类型约束, 以json存储


安装
启动Mongodb(默认在c盘找 data/db/文件夹)
服务端:
mongod --dbpath "制定数据库目录"
默认端口 27017
客户端:
mongo



常用命令:

show dbs
查看所有存在磁盘上的数据库

show tables
查看当前数据库存在磁盘上的表(collections)

use db
创建(不存在这个名字) 或者 切换数据库

db
当前数据库

db.user(表名)
创建表



db.user.insertOne({"name": "Amber"})
db.user.insertMany([{"name": "May"}, {"name": "Ryan"])



db.user.deleteOne({"name": "Amber"})
db.user.deleteMany([{"name": "May"}, {"name": "Ryan"])



updata 需要结束一下修改器
({"条件"},{"关键字(修改器)":{"修改内容"}})

$set 修改, 没有则添加一个字段
db.user.updataOne({‘name‘: ‘Ryan‘}, {$set: {‘age‘: 18}})

$unset 删除Field
db.user.updataOne({‘name‘: ‘Ryan‘}, {$unset: {‘age‘: 1}})

$inc 将查询到的某个结果,加上一个某个值
db.user.updateOne({‘name‘: ‘Ryan‘}, {$inc: {‘age‘: -10}})


array 修改器

$push 在array(list)尾端添加一个新元素
db.user.updateOne({‘name‘: ‘Ryan‘}, {$push: {‘hobby‘: ‘喝酒‘}})

$pull 尾端删除一个元素
db.user.updateOne({‘name‘: ‘Ryan‘}, {$pull: {‘hobby‘: ‘做梦‘}})

$pop 删除 1是倒数第一个, -1 是正数第一个
db.user.updateOne({‘name‘: ‘Ryan‘}, {$pull: {‘hobby‘: 1}})

$pushAll
db.user.updateOne({‘name‘: ‘Ryan‘}, {$pushAll: {‘hobby‘: [‘爬山‘, , ‘游泳‘]}})


$ 代指符 $存储符合条件的元素下标(索引)

Array中的Object
"hobby" : [
"喝酒",
{
"name" : "ball",
"price" : 100
},
"爬山",
"游泳"
如果要修改 ball 的价格 200
db.user.updateOne({‘hobby.name‘: ‘ball‘}, {$set: {‘hobby.$.price: 200}})

Object中的Array
{
"info" : {
"id" : 1,
"name" : "Ryan",
"age" : 73,
"hobby" : [
"喝酒",
"爬山"
]
}
}
把喝酒改成游泳
db.user.updataOne({‘info.hobby‘: ‘喝酒‘}, {$set: {‘info.hobby.$‘: ‘游泳‘}})



db.user.find({条件})


db.user.find({{"id":2,"age":18}})


db.user.find({$or: [{‘age‘: {$gt: 18}}, {‘name‘: ‘May‘}]})

in
db.user.find({‘age‘: {$in: [10, 20, 30]}})




sort, skip, limit:
skip(5) 跳过五条数据
limit(5) 只显示五条数据

sort({age:1}) 升序
sort({age:-1}) 降序

如果三个关键字同时出现,优先级如下
1.sort 2.skip 3.limit

db.user.find().sort({‘field‘: 1 or -1}).skip(n).limit(n)




pymongo
注意:
‘_id‘: ObjectId(‘5c3eddb16c347e190d0510cc‘ 是ObjectId类的对象
如果要序列化,也先str(_id),强转字符串在序列化






























































































































以上是关于mongodb基础语法的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB数据库—基础语法

mongodb命令行基础语法

python爬虫---mongodb基础

零基础学习MongoDB—— 集合操作

零基础学习MongoDB—— 集合操作

MongoDB基础入门003--使用官方驱动操作mongo,C#