猫鼬查询无法正确执行,没有错误消息

时间:2019-02-25 08:02:45

标签: node.js express mongoose

这是我的架构:

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.logs被触发,什么也没有发生。没有数据正在发送,也没有错误正在发送。

所以我的猜测是,我在Schema上做错了什么,但是我做到了,就像我做其他的一样,它们确实起作用了。

有人可以指出我出了错吗?

谢谢!

1 个答案:

答案 0 :(得分: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);
            }
        });
    }