学堂 学堂 学堂公众号手机端

MongoDB数据库的基本概念和API

lewis 1年前 (2024-04-20) 阅读数 19 #技术


MongoDB数据库的基本概念可以有多个数据库一个数据库可以有多个集合(表)一个集合中有多个文档(表记录)文档结构很灵活,没有任何限制MongoDB非常灵活,不需要像MySQL一样先创建库,表,设计表结构在这里只需要插入数据的时候,指定往哪个数据库的哪个集合操作就可以了,一切都有MongoDB来自动帮你完成建库建表这件事设计Scheme发布Model
// 引进mongoose
var mongoose = require('mongoose');
// 模型架构
var Schema = mongoose.Schema;

// 1、连接本地test数据库,如果没有就会延迟创建(当插入第一条数据的时候会创建)
mongoose.connect('mongodb://127.0.0.1/test');

// 2、 通过代码设计(集合)表结构(框架)
// 添加约束
var blogSchema = new Schema({
useName: {
type: String,
required: true //必须得有数据,不能为空
},
passWord: {
type: String,
required: true
},
email: {
type: String
// 可有可无
}
});

// 3、将文档结构发布Wie模型
// 第一个参数:传入一个单数大写名词用来表示你的数据库名称
// mongoose会自动将这个名词字符串转成小写复数的集合名词users
// 返回值:模型对象(模型构造函数)
var User = mongoose.model('User', blogSchema);

// 4、当我们有了模型构造函数之后,就可以用这个构造函数对Users集合中的数据为所欲为

增加数据
但是要注意的是必须开启数据库

// 增加
var admin = new User({
useName: 'admin',
passWord: 'abc',
email: 'admin@qq.com'
})
//永久保存
admin.save(function (err,) {
if (err) {
console.log('存储失败');
} else {
console.log('存储成功');
console.log(ret);
}
})



查询表(集合)中的所有数据

User.find(function (err,) {
if (err) {
console.log('查询失败');
} else {
console.log(ret);
}
})


查询匹配条件的数据

User.find({
useName: 'anlex'
}, function (err,) {
if (err) {
console.log('查询失败');
} else {
console.log(ret);
}
})

此乃查询结果


只找匹配的符合第一个数据对象

要是没有条件存在就找见第一次第一个插入的数据

User.findOne({
useName: 'anlex'
}, function (err,) {
if (err) {
console.log('查询失败');
} else {
console.log(ret);
}
})


删除数据

User.remove({
useName: 'anlex'
}, function (err,) {
if (err) {
console.log('删除失败');
} else {
console.log('删除成功');
console.log(ret);
}

})


表示删除了符合条件的一个数据

根据id执行更新

User.findByIdAndUpdate('62075bbcd3f9d9c64082c5c8', {
passWord: 'ABC'
}, function (err,) {
if (err) {
console.log('更新失败');
} else {
console.log('更新成功');
}
})


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门