Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 整理更新的mongoDB_Node.js_Sorting_Mongoose - Fatal编程技术网

Node.js 整理更新的mongoDB

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

因此,在我的网页www.groupwrites.com上,我在“阅读”页面中显示了一个故事索引。这些故事目前按创建顺序显示(即最新的故事在底部)。我正试图弄清楚如何首先使用最新创建/更新的一个来显示它们。我使用的是cloud9上的mongoDB节点JS。我一直在努力研究,并知道我应该使用updatedAt,但我不知道如何插入所有内容。我不知道如何更新put路由中updatedAt的时间戳

这是我的索引代码:

//索引-显示所有故事

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)