mongodb的基本使用

MongoDB中,数据库在无值时存在于内存,插入集合后持久化到磁盘。特殊数据库如admin用于权限管理,local不参与复制,config存储集群配置。创建数据库如`switchedtodbdatabase`,删除用`dropdatabase`。集合可隐式或显式创建,删除用`drop`。文档插入有单条和批量方式,查询包括全量、条件、投影和多条件查询。
摘要由CSDN通过智能技术生成

mongodb中数据库还没有值的时候是存在内存中的,当插入了集合才会持久化到磁盘中

mongodb自带的一些有特殊意义的库

admin:从权限的角度讲,这是一个root库,要是将一个用户添加到这个库,这个用户会自动承接所有数据库的权限。
       一些特定的指令也只能从这个数据库运行,比如列出所有的数据库或者关闭所有数据库
local:这个数据库中的数据永远不会被复制,比如在部署集群的时候,集群见会有一些复制策略,而local数据库中的数据不会被复制

config:

数据库操作

 

数据库创建和删除

switched to db database; --创建名为database的数据库
​
db.dropdatabase(); --删除当前使用的数据库

集合操作(mongodb表操作)

集合的创建

分为显示和隐式
显示:db.createCollection("collection"); --在当前使用数据库中创建名字为collection的集合
隐式:直接向数据库插入数据,数据库会根据自动创建集合并插入数据

集合的删除

db.集合名.drop   --删除当前数据库中该名子的集合

文档的操作

文档的插入

db.comment.insert({"articleid":"100000","content":"今天天气真好,阳光明
媚","userid":"1001","nickname":"Rose","createdatetime":new Date(),"likenum":NumberInt(10),"state":null}) --插入文档

try {
db.comment.insertMany([
{"_id":"1","articleid":"100001","content":"我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我
他。","userid":"1002","nickname":"相忘于江湖","createdatetime":new Date("2019-08-
05T22:08:15.522Z"),"likenum":NumberInt(1000),"state":"1"},
{"_id":"2","articleid":"100001","content":"我夏天空腹喝凉开水,冬天喝温开水","userid":"1005","nickname":"伊人憔
悴","createdatetime":new Date("2019-08-05T23:58:51.485Z"),"likenum":NumberInt(888),"state":"1"},
{"_id":"3","articleid":"100001","content":"我一直喝凉开水,冬天夏天都喝。","userid":"1004","nickname":"杰克船
长","createdatetime":new Date("2019-08-06T01:05:06.321Z"),"likenum":NumberInt(666),"state":"1"},
{"_id":"4","articleid":"100001","content":"专家说不能空腹吃饭,影响健康。","userid":"1003","nickname":"凯
撒","createdatetime":new Date("2019-08-06T08:18:35.288Z"),"likenum":NumberInt(2000),"state":"1"},
{"_id":"5","articleid":"100001","content":"研究表明,刚烧开的水千万不能喝,因为烫
嘴。","userid":"1003","nickname":"凯撒","createdatetime":new Date("2019-08-
06T11:01:02.521Z"),"likenum":NumberInt(3000),"state":"1"}
]);
} catch (e) {
print (e);
}                  --批量插入,多条插入时可能会出现异常,会经常使用try/catch捕获,前面插入多个,其中有一个失败了,前面的不会回滚

文档的查询

db.集合名称.find() --查询所有
db.集合名称.find({userid:'1003'}) --单条件查询
db.集合名称.find( { $or : [ { userid : '1003' }, { sex : '男' } ] } )  --多条件查询,$or是或者的意思
db.集合名称.findOne({userid:'1003'}) --只显示第一条查询到的json

db.集合名称.find({userid:"1003"},{userid:1,nickname:1,_id:0}) --投影查询(只显示部分字段),查询条件后面跟显示字段,1表示显示,0表示不显示

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值