Node.js 整理更新的mongoDB
因此,在我的网页www.groupwrites.com上,我在“阅读”页面中显示了一个故事索引。这些故事目前按创建顺序显示(即最新的故事在底部)。我正试图弄清楚如何首先使用最新创建/更新的一个来显示它们。我使用的是cloud9上的mongoDB节点JS。我一直在努力研究,并知道我应该使用updatedAt,但我不知道如何插入所有内容。我不知道如何更新put路由中updatedAt的时间戳 这是我的索引代码: //索引-显示所有故事Node.js 整理更新的mongoDB,node.js,sorting,mongoose,Node.js,Sorting,Mongoose,因此,在我的网页www.groupwrites.com上,我在“阅读”页面中显示了一个故事索引。这些故事目前按创建顺序显示(即最新的故事在底部)。我正试图弄清楚如何首先使用最新创建/更新的一个来显示它们。我使用的是cloud9上的mongoDB节点JS。我一直在努力研究,并知道我应该使用updatedAt,但我不知道如何插入所有内容。我不知道如何更新put路由中updatedAt的时间戳 这是我的索引代码: //索引-显示所有故事 router.get("/browse", function(r
router.get("/browse", function(req, res, next){
// Get all stories from DB
Story.find({}, function(err, allStories){
if (err) {
return next(err);
} else {
// if user is logged in then render stories and any alerts
if(req.user) {
User.findById(req.user._id).populate({
path: 'alerts',
model: 'Alert',
match: { 'isRead': { $eq: false }}
}).exec(function(err, user) {
if(err) {
return next(err);
}
res.render("stories/index", {stories:allStories, alerts: user.alerts.length, page: 'browse'});
});
} else {
res.render("stories/index", {stories:allStories})
}
}
})
})
//创建-将新故事添加到数据库
router.post("/browse", middleware.isLoggedIn, function(req, res, next){
// get data from form and add to stories array
var title = req.body.title
var image = req.body.image
var desc = req.body.description
var category = req.body.category
var author = {
id: req.user._id,
username: req.user.username
}
var newStory = {title: title, image: image, description: desc, author: author, category: category}
// Create a new story and save to database
Story.create(newStory, function(err, newlyCreated){
if (err) {
return next(err);
} else {
// redirect back to stories page
req.flash("success", "Successfully published story!")
res.redirect("/browse")
}
})
})
这是故事内容的代码(即在故事中添加章节时):
在定义猫鼬模式时 1用于上升和-1用于下降 例如:
"use strict";
var mongoose = require('mongoose');
var db= require('mongoose').models;
let findOrCreate = require('findorcreate-promise');
var abc= new mongoose.Schema({
name: String,
updated_At: { type: Date, default: Date.now } // like this you can define
});
mongoose.model('abc', abc);
and you can use this by :
db.abc.find({})
.sort({'updated_At':1}) //1 for ascending and -1 for descending
.exec(Your callback function)
这将使排序从日期最小的更新_到最大的更新_
谢谢你的问题是什么?你能简单地理解吗?@hardy我的问题是如何按照最近更新/创建的顺序对所有故事进行排序。我想我必须使用updatedAt,但我不知道如何将它插入到我的代码中。或者如果我不得不改变我的故事模式。很抱歉给你带来了混乱
"use strict";
var mongoose = require('mongoose');
var db= require('mongoose').models;
let findOrCreate = require('findorcreate-promise');
var abc= new mongoose.Schema({
name: String,
updated_At: { type: Date, default: Date.now } // like this you can define
});
mongoose.model('abc', abc);
and you can use this by :
db.abc.find({})
.sort({'updated_At':1}) //1 for ascending and -1 for descending
.exec(Your callback function)