我目前正在做开发学徒(刚刚开始(。到目前为止,我已经了解了 angular 的基础知识和下一步,所以现在我的同事告诉我把它提升到一个新的水平,并将数据存储在 mongodb 数据库中。
所以他们向我展示了如何使用 mongo 指南针创建节点服务器和 mongodb 数据库
我还安装了猫鼬和快递,因为似乎每个人都在使用这些
现在我有一台服务器和一个数据库,但我不知道如何写入或读取它
这是他们给我的节点服务器:
const express = require('express'),
bodyParser = require('body-parser'),
cors = require('cors'),
mongoose = require('mongoose');
mongoose.Promise = global.Promise;
const DB = 'mongodb://localhost:27017/database';
mongoose.connect(DB).then(
() => {console.log('Database is connected')},
err => {console.log('Can not connect to the Database ' + err)}
);
const app = express();
app.use(bodyParser.json());
app.use(cors());
const port = process.env.PORT || 4000;
const server = app.listen(port, function() {
console.log('Listening on Port ' + port);
});
如果有人能给我一个简单的例子,说明如何写入/读取数据库,并告诉我要创建哪些文件等,或者为我链接一个完全适合我情况的教程,我将不胜感激,因为我找不到适合我情况的教程
我认为你应该阅读Mongoose和MongoDB文档。
要读取数据库,可以使用 find 或 findOne 方法 例:
db.users.findOne({login: 'admin'}, function(err, user) {
if (err) thow err;
if (user) {
console.log(user); // This is your admin user
}
});
您还可以通过修改其属性来更新此用户,并像这样保存:
db.users.findOne({login: 'admin'}, function(err, user) {
if (err) thow err;
if (user) {
user.login = 'administrator';
user.password = 'myPassword';
user.save(function(err) {
if (err) throw err;
// User has been updated !
});
}
});
希望对您有所帮助。
这是我创建的 API 的一个例子,希望对您有所帮助:
//CORS
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader(
'Access-Control-Allow-Headers',
'Origin, X-Requested-With, Content-Type, Accept, Authorization'
);
res.setHeader('Access-Control-Allow-Methods', '*');
next();
});
//CRUD
//Creating a new Report
app.post('/api/reports', (req, res, next) => {
const report = new Report({
address: req.body.address,
placeName: req.body.placeName,
description: req.body.description,
abuseType: req.body.abuseType,
dateOfEvent: req.body.dateOfEvent,
imageName: req.body.imageName,
lat: req.body.marker.lat,
long: req.body.marker.long,
zipcode: req.body.zipcode,
city: req.body.city,
state: req.body.state,
country: req.body.country
});
report
.save()
.then(createdReport => {
res.status(201).json({
message: 'Report added successfully',
report: {
...createdReport._doc
},
status: 201
});
})
.catch(error => {
res.status(500).json({
message: 'Creating report failed!',
error: error
});
});
});
//Getting all reports
app.get('/api/reports', (req, res, next) => {
Report.find()
.then(docs => {
res.status(200).json({
message: 'Reports fetched successfully',
reports: docs,
status: 200
});
})
.catch(error => {
res.status(500).json({
message: 'Fetching post failed!',
status: 500
});
});
});
角
addReport(report: Report): Observable<ReportAPI> {
return this.http.post<ReportAPI>(this.BASE_URL, report);
}
getReportsDB(): Observable<ReportAPI> {
return this.http.get<ReportAPI>(this.BASE_URL);
}