У кого-нибудь есть идеи о том, как создать схему блога / новостей в mongodb?Я буду выполнять связывание данных с помощью встроенных данных и / или ссылки на объект.
Статьи могут иметь много категорий, а категории имеют много статей.
Я бы хотел, чтобы значения категории сохраняли идентификаторыстатьи после того, как статьи были созданы, как мне продолжить маршрут?
Если у кого-то есть совершенно другое представление о том, как это сделать, пожалуйста, дайте мне свои предложения.
Вот что я думаю ...
// Почтовый маршрут
router.post("/articles", function(req, res){
var title = req.body.title;
var content = req.body.content;
var category = req.body.category;
var author = {
id: req.user._id,
username: req.user.username
};
var newArticle = {title: title, content: content, category: category, author:author};
// Create a new article and save to DB
Article.create(newArticle, function(err, article){
if(err){
console.log(err);
}
// What do I do here to pass the id of the article into values of the category selected
// Since I dont want to create a unique category profile for every article but rather update/add/push the ids of the newly created articles in a main Category profile
// does it mean I will need to create a Category profile in the global scope? which could then be accessed here and updated every time an article is created?
//Heres my attempt?
category.collection.update(req.body.category, article._id, function(err){
if(err){
console.log(err);
}
// req.body.category would select all the required category in the article profile to be updated?
// article._id would be pushed into the selected category?
});
// Профиль категории, созданный в примере глобальной области действия?(Это происходит до маршрутов)
var newCategory = new Category({
sport:"", //Can I leave these blank?
science:"",
politic:"",
economy:""
});
newPost.save(function(err, category){
if(err){
console.log(err);
}
});
// схемы выглядят так (идет до маршрутов)
// Схемы категорий
var categorySchema = new mongoose.Schema({
sport: [{
type: mongoose.Schema.Types.ObjectId,
ref: "Article"
}],
science: [{ type: mongoose.Schema.Types.ObjectId, ref: "Article" }],
politic: [{ type: mongoose.Schema.Types.ObjectId, ref: "Article" }],
});
var Category = mongoose.model("Category", campgroundSchema);
// Article Schemas
var articleSchema = new mongoose.Schema({
sport: [{
type: mongoose.Schema.Types.ObjectId,
ref: "Category"
}],
science: [{ type: mongoose.Schema.Types.ObjectId, ref: "Category" }],
politic: [{ type: mongoose.Schema.Types.ObjectId, ref: "Category" }],
});
var Article = mongoose.model("Article", campgroundSchema);