Właśnie zacząłem uczyć się na stosie MEAN i muszę generować dynamiczne formularze w locie.Dynamiczna generacja formularzy HTML w stosie MEAN
Wymagane jest zaimportowanie dokumentu (excel/csv/xml/xls itp.) I wygenerowanie dynamicznych formularzy z użyciem go, aby użytkownik mógł zaktualizować swoje dane i ponownie wyeksportować je do odpowiedniego pliku.
Aby to osiągnąć, konwertuję dokumenty do formatu JSON i przechowuję dane JSON w bazie danych MongoDB.
Ex: Rozważmy te dane xlsx
:
ID Name dob Gender
1 user1 7-Dec-87 m
2 user2 8-Dec-87 f
3 user3 9-Dec-87 f
3 user4 4-Dec-87 m
A ja to za pomocą modułu konwersji do formatu JSON xlsx-to-json
i przechowywanie go w MongoDB.
app.post('/myapp', function (req, res) {
//console.log("===========" + req.file.path);
converter({
input: req.file.path,
output: "output.json"
}, function (err, result) {
if (err) {
console.error(err);
} else {
console.log(result);
db.collection('test').insert(result, function (err, doc) {
console.log(err);
res.json(doc);
});
}
});
});
Oto ja ściągam powyżej danych z Mongodb & express.js
app.get('/myapp', function (req, res) {
db.collection('test').find(function (err, docs) {
console.log(docs);
res.json(docs);
});
});
app.get('/birthdaylist/:id', function (req, res) {
var id = req.params.id;
console.log(id);
db.collection('test').findOne({_id: mongojs.ObjectId(id)}, function (err, doc) {
console.log(JSON.stringify(doc));
res.json(doc);
});
});
i tu jest wyjście JSON
:
[
{ dob: '7-Dec-87', ID: '1', Name: 'user1' },
{ dob: '8-Dec-87', ID: '2', Name: 'user2' },
{ dob: '9-Dec-87', ID: '3', Name: 'user3' },
{ dob: '4-Dec-87', ID: '4', Name: 'user4' }
]
Tak, mam kilka pytań:
Czy th czy poprawne podejście robię, aby wygenerować dynamiczną formę z xlsx/csv..etc? Jeśli tak, to w jaki sposób mogę wygenerować dynamiczną formę z powyższego JSON.
Podczas zwiedzania na google znalazłem MongoDB generuje formularz automatycznie (https://github.com/GothAck/forms-mongoose) Więc to pomoże, ponieważ nie może być szansa ogromnych danych dotyczących plików Excel.
Każda pomoc będzie naprawdę doceniana.
Powyższy kod wygląda dobrze na konwersję, szczególnie sprawdzanie wydajności wygląda dobrze. Bez próby kodu z przodu SO nie może ci pomóc. Link do github, który dołączasz, dotyczy Mongoose, więc jeśli nie używasz mangusty, to nie pomoże ci to zbytnio. – metame
I tak jak mała uwaga na MongoDB, w rzeczywistości nie przechowujesz JSON w Mongo, ale [BSON] (http://bsonspec.org/). – metame
@metame: Dzięki za odpowiedź. Próbowałem moogose, ale wymaga to odpowiednich atrybutów w formacie JSON. W moim przypadku JSON generuje z pliku Excel, więc jak mogę rozwiązać ten problem? – Sky