MongoDB

25 篇文章 0 订阅
14 篇文章 0 订阅

MongoDB 基于c++语言编写的

介于关系型和非关系型之间的非关系型数据库

MongoDB 的数据单元是文档 

文档  ----》 mysql 行数据

集合  ---》 mysql 表  

js ---》 相当于对象 {'name':'小芳','age':18}

命名规范:

1、集合名不能是空字符串;

2、不能包含 /a   /n  --- 转义 字符;

3.不能以system开头  系统集合的保留前缀;

4、不能使用保留词   $  ;



操作数据库

首先启动mongoDB 管理员运行 输入 Mongo;

1、查看

2、选中、创建、使用  use 数据库名 ;


3、 db当前被选中的数据库;


4、删除数据库 db.dropDatabase()  类似清空


操作集合

1、创建 db.createCollection(1,2)  /  1:集合名  2:可选参数  ---》 集合的约束   autoIndexId 自动排序

db.createCollection('my_self_one')


查看表


删除

MongoDB中的数据类型

字符串 utf-8  ---符号

整型 自动切换

布尔值 true false

数据

时间戳    ctimestamp  ---》当文档(数据)修改或添加的时候,方便记录的

对象

null

日期

id   obj_id()

正则

对数据的操控

1、添加 insert()

单条数据:

db.my_self_two.insert({

name:"小鸟",

age:27,

like:"xxx"

})



同时添加多条数据:

db.my_self.insert([

{

name:"小明",

age:27,

},

{

name:"小红",

age:27,

},

{

name:"小张",

age:26,

},

])

OK之后


添加一条数据

db.mytwo.insertOne({

})

添加多条:

db.mytwo.insertMany({

})

查询文档:

1、find()括号空查询所有

db.mytwo.find()


查询一个

db.mytwo.findOne()


特殊的:

save()

当_id相同的时候,save() 完成保存,insert()会报错;

查询age  等于


小于

$lt       <:

db.my_self.find({age:{$lt:28}})



大于: $gt

大于等于:$gte

小于等于:$lte

不等于:$ne

$and   多条件查询  且

find({

$and:[

{a:{$lt:5}},

{a:{$gt:10}}

]

})

$for  多条件查询 或

find({

$for:[

{a:18},

{a:20}

]

})

2、删除:

remove()  参数1:删除的条件  参数2: true| 1==》删除一条数据

db.my_self.remove() 删除所有

db.my_self.remove({age:18})  删除所有满足条件的数据

db.my_self.remove({age:26},true|1) 删除满足条件数据中的一条

示例:

db.my_student.insert([

{sno:101,sname:"小军",ssex:"男",birth:"1996-02-20",class:"95033"},

{sno:103,sname:"小兰",ssex:"女",birth:"1994-06-03",class:"95031"},

{sno:105,sname:"小强",ssex:"男",birth:"1995-10-02",class:"95031"},

{sno:107,sname:"小丽",ssex:"女",birth:"1995-10-02",class:"95033"},

{sno:108,sname:"小明",ssex:"男",birth:"1997-09-01",class:"95033"},

{sno:109,sname:"小芳",ssex:"女",birth:"1995-02-10",class:"95031"}

])

db.my_teacher.insert([

{tno:804,tname:"李城",tsex:"男",birth:"1958-12-02",prof:"副教授",depart:"计算机系"},

{tno:825,tname:"王萍",tsex:"女",birth:"1972-05-05",prof:"助教",depart:"计算机系"},

{tno:831,tname:"刘冰",tsex:"女",birth:"1977-08-14",prof:"助教",depart:"电子工程系"},

{tno:856,tname:"张旭",tsex:"男",birth:"1969-03-12",prof:"讲师",depart:"电子工程系"}

])

修改:

update()  查找--》修改

save()  替换现有文档

db.my_self.update({

'name':'赵四'},

{

//设置值

$set:{


}

}

)



上述true如果换为false停止修改/添加

正则查找:


//正则   不区分大小写


示例:

var express=require('express');
var mongo=require('mongodb');
var app=express();
var MongoClient=mongo.MongoClient;//开启服务
var Url='mongodb://localhost:27017/myself';//存储URL 用于连接池
//获取链接
MongoClient.connect(Url,function(err,db){
    if(err){
        throw err;
    }
    //编写  数据库 的操作语句
//添加
db.collection('my_self').insert({
    "name":"随便",
    "age":19
},function (err,result) { 
    if(err){
        throw err;
    } 
    console.log(result);
    // res.send({
    //     result:result,        
    // })
    db.close();//关闭数据库
 })
// 查询
db.collection('my_self').find({"age":19}).toArray(function(err,result){
if(err){
    throw err
}
console.log(result);
db.close();
})
 })
app.listen(3080,function () {  
  console.log('lets go........' )  
})


//修改
db.collection('my_self').update({
    "name":"随便",
    "age":19
},{$set:{"name":"夏辉"}},function(err,result){
    if(err){
        throw err
    }
    console.log(result);
    db.close();
}
)


//删除
db.collection('my_self').deleteOne({"name":"小雅"}),function(err,result){
    if(err){
        throw err
    }
    console.log(result);
    db.close();
}
db.collection('my_self').remove({age:19}),function(err,result){
    if(err){
        throw err
    }
    console.log(result);
    db.close();
} 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值