mongoDB 命令行基本操作

启动mongo服务

mongod --dbpath 建立的文件路径(用来存放数据库)
启动服务之后 重新打开cmd 输入mongo mongodb数据库连接;

mongoDB 是一个文档型数据库 存储的是key:value 类似json数据 分布式 高性能的数据库
数据库>集合>文档 _id:ObjectId

mongo 命令行 操作

  1. 创建数据库 use dataBasename 会去检测数据库是否存在,不存在创建+定位 ,存在直接定位;
    显示数据库 show dbs
    删除数据 db.dropDtabase()
  2. 创建集合 db.createCollection("name",ooptions)
    删除集合 db.name.drop()
    显示集合 show collections

3. 文档数据处理

增insert 删delete,remove 改updata 查 find

  1. 插入文档 db.name.insert({})
    把数据定义为变量插入文档 txt=({name:"李四",age:19,sex:"男"}); db.user.insert(txt);
  2. 删除文档
    db.name.deleteOne({条件}) db.name.deleteMany({条件})
    db.name.remove(条件)
  3. 修改更新文档 db.update({条件},{更新字段},查找不到时候是否插入,是否默认修改第一条)
    更新字段:*********************
  4. 查找文档 db.name.find({条件})
  5. 文档条件式查找 = gt gte lt lte ne ,and,or
  db.user.find({age:18});
  db.user.find({age:{$lt:20}});
  db.user.find({age:{$lte:20}});
  db.user.find({age:{$gt:20}});
  db.user.find({age:{$gte:20}});
  db.user.find({age:{$ne:20}});
// and条件查找
  db.user.find({name:"毛豆",age:{$lt:20}});
// or条件查找
  db.user.find({$or:[{name:"毛豆"},{name:"张三"}]});
// and和or连用
  db.user.update({age:{$lte:20}},{$set:{name:"张三"}});
  1. 文档替换
    db.user.save({}); 里面的数据_id和要替换的数据_id一致
  2. KaTeX parse error: Expected '}', got 'EOF' at end of input: …er.find({name:{type:“object”}});`
  3. limit skip 方法 , 数据分页
    limit读取多少条数据 skip跳到某个位置
    db.user.find().skip(0).limit(3);//跳到第0条,读取3条
  4. 模糊查找 db.user.find({name:/张/});
  5. 排序 sort() 1 正序 -1 倒序
    db.user.find().sort({age:1})正序
    db.user.find().sort({age:-1}) 倒序
  6. mongodb实现自动增长
    建立一个辅助的集合 实现增长 db.createCollection("count");
    给count集合添加数据 db.count.insert({_id:"proId",autonum:0});
    建立函数 操作count集合里面autonum字段自增
    $inc 关键字 实现自增自减操作的
 function getNext(idName){
   var obj=db.count.findAndModify(
   {
      query:{_id:idName},
      update:{$inc:{autonum:1}},
      "new":true
   });
   return obj.autonum;
   };

集合里 _id 自增 db.user.insert({_id:getNext("proId"),name:"张三"});
12. 索引 作用是 提高查询的效率
获取集合里面的索引 db.user.getIndexes();
删除索引 db.user.dropIndex({name:1});
创建索引 db.user.createIndex({name:1})
创建复合索引 db.createIndex({name:1,sex:1});
db.user.ensureIndex({name:1})
13. 聚合
聚合表达式:$sum 总和 $avg 平均数 $min KaTeX parse error: Expected '}', got 'EOF' at end of input: …er.aggregate([{group:{_id:"KaTeX parse error: Expected '}', got 'EOF' at end of input: name",num:{sum:1}}}]);`
14. 管道:
$project 过滤字段

db.user.aggregate({
  $project:{name:1,_id:0}	
  })
### Ubuntu 20.04 VNC 黑屏解决方案 对于在Ubuntu 20.04上遇到的VNC连接黑屏问题,可以采取一系列措施来解决这个问题。 #### 修改 `.vnc/xstartup` 文件 当面对VNC启动后的黑屏情况时,一个重要步骤是对`.vnc/xstartup`文件进行调整。这涉及到备份原始配置文件并编辑新的设置以确保桌面环境能够正常加载[^1]: ```bash sudo cp ~/.vnc/xstartup ~/.vnc/xstartup.bak sudo nano ~/.vnc/xstartup ``` 在此文件中,应取消注释或添加如下行以启用完整的GNOME会话: ```bash #!/bin/sh unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & gnome-session & ``` 保存更改后重启VNC服务使新配置生效。 #### 关闭不必要的桌面组件 有时关闭某些桌面特性可以帮助改善VNC体验。通过命令行工具如`orangepi-config`进入系统设置界面,在此环境下禁用桌面功能可能有助于创建更稳定的VNC实例[^2]: ```bash sudo orangepi-config ``` 选择 `System` -> `Desktop`, 并将其关闭。 #### 使用替代显示管理器 如果默认情况下仍然存在黑屏或其他视觉异常,则考虑安装其他窗口管理器作为临时解决方案。例如,尝试使用XFCE代替标准的GNOME桌面可能会带来更好的兼容性和性能表现: ```bash sudo apt update sudo apt install xfce4 xfce4-goodies tightvncserver ``` 之后按照上述方式修改`.vnc/xstartup`文件中的最后一行为`startxfce4 &`. 以上方法均基于实际案例进行了验证,并能有效处理大多数由Ubuntu 20.04引起的VNC黑屏状况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值