gpt4 book ai didi

Node.js、Express、Mongoose、MongoHQ(保存数据)

转载 作者:太空宇宙 更新时间:2023-11-04 02:40:35 25 4
gpt4 key购买 nike

我是 Node.js 新手。

我想问一下,我们如何使用mongoose保存数据?

在本例中,我有 3 个文件夹来运行该过程

models(在此文件夹中我们有 store.js)

var mongoose = require('mongoose');

mongoose.connect('mongodb://xxx:xxx@dharma.mongohq.com:10019/xxx');
var t_store = new mongoose.Schema({
store_email : String
});

module.exports = mongoose.model('store', t_store);

路由(在此文件夹中我们有signup.js)

var store = require('../models/store');

exports.form = function(req, res) {
res.render('signup', {
title: 'Sign Up'
});
};

exports.submit = function (table_name) {
return function(req, res, next) {
var email = req.body.signup.email;
console.log("name " + email);

store.create({
store_email: email
});
};
};

views(在此文件夹中我们有signup.ejs)

<form method='post' enctype='multipart/form-data'>
<input type="text" id="email" name="signup[email]" placeholder="Your email address">
<input type='submit', value='Sign Up'/>
</form>

这就是我到目前为止所做的。谢谢!

最佳答案

建议您安装express(除了node.js和mongoose之外)并遵循指南/教程。 Express 将允许您使用类似 REST 的方法。

npm install -g express

从 app.js(应用程序设置文件)中,您可以定义路由并定义每个路由所属的方法/REST 调用。

我可以向您展示一个删除示例:

在我的 app.js 中:

app.post('/deleteActivity', activityList.deleteActivity.bind(activityList))

告诉应用程序发布到/deleteActivity 将在activityList 中使用deleteActivity 方法进行处理。

在我的activityList.js中:

  deleteActivity: function(req,res) {
var item = req.body.item;
var deleted = item.activity;
activity.remove({_id: deleted}, function(err){
if(!err){
console.log('Deletes ' + item.activity);
}
else {
console.log('Could not delete' + item.activity);
}
});
res.redirect('/');
}

req.body.item 这里包含删除事件所需的所有数据。这是从我的 index.jade 文件发送的,如下所示:

form(action="/deleteActivity", method="post")
select(name = "item[activity]")
each activity in activities
option(value=activity._id) #{activity.activityType}
input(type="submit", value="Delete activity")

如您所见,数据通过用户提供的值绑定(bind)到请求。在本例中,activity._id 被传递给deleteActivity。

在您的情况下,只需创建一个您想要的 Schema(mongoose) 的新对象并对其使用 save 方法。

希望这有帮助

关于Node.js、Express、Mongoose、MongoHQ(保存数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16711300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com