index.js
const db = require("./db/db");
const BookModel = require("./models/BookModel");
//调用函数
db(
() => {
//个性化读取
//只读取name和author
BookModel.find()
.select({ name: 1, author: 1 })
.exec((err, data) => {
if (err) {
console.log("失败");
console.log(err);
}
console.log(data);
});
console.log("连接成功");
},
() => {
console.log("连接失败");
}
);
db.js
/**
*
* @param {*} success 数据库连接成功的回调
* @param {*} error 数据库连接失败的回调
*/
module.exports = function (success, error) {
const mongoose = require("mongoose");
//设置 strictQuery 为 true
mongoose.set("strictQuery", true);
//3. 连接 mongodb 服务 数据库的名称
mongoose.connect("mongodb://127.0.0.1:27017/bilibili");
mongoose.connection.once("open", () => {
success();
});
// 设置连接错误的回调
mongoose.connection.on("error", () => {
error();
});
//设置连接关闭的回调
mongoose.connection.on("close", () => {
console.log("连接关闭");
});
};
BookModel.js
const mongoose = require("mongoose");
let BookSchema = new mongoose.Schema({
name: String,
author: String,
price: Number,
is_hot: Boolean,
});
//6. 创建模型对象 对文档操作的封装对象 mongoose 会使用集合名称的复数, 创建集合
let BookModel = mongoose.model("novel", BookSchema);
module.exports = BookModel;