Mongoose查询没有正确执行,没有错误消息

问题描述 投票:0回答:1

这是我的架构:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const PostsSchema = new Schema({
    userId: String,
    postId: String,
    title: String,
    description: String,
    tags: { many: String, where: String, what: String }, 
    date: { type: Date, default: Date.now },
}, { collection : 'posts'});

const Posts = mongoose.model('Post', PostsSchema);

module.exports = Posts;

这是我的查询路线:

const express = require('express');
const router = express.Router();
const mongoose = require('mongoose');
const Posts = require('../models/Posts');

router.get('/', (req, res, next) => {
const refreshOrLoadMore = params.refreshOrLoadMore || '';
if (refreshOrLoadMore === 'loadMore') {
        console.log('1');
        Posts.find({}).sort({date:-1}).limit(10, (err, data) => {
            if(err) {
                console.log('2');
                res.send(err);
            } else {
                console.log('3');
                res.json(data);
            }
        });
    }
 });

if语句返回true并触发第一个console.log。但之后没有其他的console.log被触发,也没有任何反应。没有数据正在发送,也没有发送错误。

所以我的猜测是,我对Schema做了一些错误,但我做的就像我做了其他的一样,并且确实有效。

谁能指出我哪里出错了?

提前致谢!

node.js express mongoose
1个回答
0
投票

试试这个

if (refreshOrLoadMore === 'loadMore') {
        console.log('1');
        Posts.find({}).sort({date:-1}).limit(10) 
         .exec((err, data) => {
            if(err) {
                console.log('2');
                res.send(err);
            } else {
                console.log('3');
                res.json(data);
            }
        });
    }
© www.soinside.com 2019 - 2024. All rights reserved.