Mongodb数据库CURD

来源:互联网 发布:珠宝cnc编程 编辑:程序博客网 时间:2024/06/18 07:11

回顾

  • IO交互
  • WEB计算器

非关系型数据库Mongodb,底层由C++开发出来的,文档型数据库
非关系型数据库没有行与列,Mongodb存储对象是json的一种特殊类型

十大数据库

1.Orcle2.Mysql3.Microsoft SQL server4.Microsoft Access5.DB26.postgreSQL7.cassandra8.Mongodb9.SQLline10.Redis

Mongodb语句

* show dbs; 查看数据库* db:数据库,user:集合* use db;选择数据库* show collections;查看集合* db.version();查看数据库版本* db.getCollectionNames();查看集合名字* db.getName();查看当前数据   * db.user.insert({"name":"lyc"}); 插入一条数据* db.user.insert({"name":"lyc":"age":23});插入一条数据* db.user.insertMany([{''name"":"jim","sex":"male"}])* db.user.find({age: {$gt: 22}});查询age>22的记录* db.user.find({age: {$lt: 22}});查询age<22的记录* db.user.find({age: {$gte: 25}});查询age>= 25的记录* db.user.find({age: {$lte: 25}});查询age<= 25的记录* db.user.find({age: {$gte: 23, $lte: 26}});查询age>= 23 并且 age<= 26* db.user.find({name: /mongo/});like查询* db.user.find().limit(5);查询前5条数据* db.user.find().skip(10);查询10条以后的数据* db.user.find().limit(10).skip(5);查询在5-10之间的数据* db.user.find({$or: [{age: 22}, {age: 25}]});逻辑或查询* db.user.find({age: {$gte: 25}}).count();查询总数* db.user.findOne();查询一团数据* db.user.find();查询所有数据* db,user.find().toArray();格式化查询数据为数据* db.user.find().pretty();格式化查询数据* db.user.update({name:"lyc22"},{$set:{age:88}});修改数据* db.user.updata(name:"lyc"),{$set:{“sex”:"man"}},true};原来的集合没有sex的属性,第三个参数为true会添加,默认是false* db.user.update((name:"lyc"),{$set:{"sex":"man"}},true,true);更改所有符合条件的数据* db.user.remove({name:"lyc"});删除name为lyc的数据* db.test.ensureIndex({"username":1});创建索引* db.test.getIndexes();获取索引* db.test.dropIndex({"username":1});删除索引* db.test.ensureIndex({"username":1, "age":-1});数字1表示username键的索引按升序存储,-1表示age键的索引按照降序方式存储。* db.test.ensureIndex({"userid":1},{"unique":true});唯一索引* db.test.ensureIndex({"userid":1},{"unique":true,"dropDups":true}) ;创建唯一索引,并消除重复数据

Mongodb的开启

默认启动:

$ ./mongodb

默认数据保存路径:/data/db/

默认端口:27017

修改默认路径:

–dbpath

$ ./mongdb –dbpath /mongodb/

把数据存储位置指向一个自己的目录/mongodb/

Express框架

  • ejs模板

vim mongodb.sh

#!/bin/bash
cd /home/nick/mongodb/bin/
./mongodb –dbpath=../nick_db

0 0