Json Mongoose路由特定查询输出

Json Mongoose路由特定查询输出,json,node.js,mongodb,express,mongoose,Json,Node.js,Mongodb,Express,Mongoose,猫鼬新问题。我试图构建一个基于用户输入参数查询现有数据库的MEAN应用程序。外部程序正在用JSON填充数据库 到目前为止,当我使用以下路由器时,我的路由器已成功显示所有Mongo记录: // Pulls all JSONs router.get('/jsons', function(req, res, next) { Json.find(function(err, jsons){ if(err) { return next(err);} res.json

猫鼬新问题。我试图构建一个基于用户输入参数查询现有数据库的MEAN应用程序。外部程序正在用JSON填充数据库

到目前为止,当我使用以下路由器时,我的路由器已成功显示所有Mongo记录:

// Pulls all JSONs
router.get('/jsons', function(req, res, next) {
    Json.find(function(err, jsons){
        if(err) { return next(err);}

        res.json(jsons);
    });
});
现在我尝试创建一个单独的路由,它可以显示该数据库中的特定字段。(其中TestLocation=“纽约”)

这对我来说是返回null,尽管原始路由显示一条JSON记录确实有一个纽约的TestLocation

我的模式如下所示:

var mongoose = require('mongoose');

// Base schema for the query results table
var JsonSchema = new mongoose.Schema({
        uploadID: String,
        uploadDate: Date,
        testDate: Date,
        username: String,
        type: String,
        markers: String,
        image: String,
        TestLocation: String
    },
    {
        collection: 'data'
    }
);

mongoose.model('Json', JsonSchema);
因此,我的问题是:

A) 我的设置正确吗

B) 我是否需要我的Mongoose模式来精确匹配数据库中的内容?我的Mongoose模式有一个字段TestLocation,它与MongoDB数据库中的一个TestLocation字段相匹配,但我在MongoDB数据库中也有很多字段没有包含在模式中。我需要包括这些才能看到它工作吗


谢谢

您所做的看起来很好,数据库中的数据不必与您的数据相同。使用以下命令:

Json.findOne({TestLocation: "New York"}, function(err, jsons) {
    if(err) { return next(err);}
    res.json(jsons);
});

请欣赏关于数据不匹配的答案。不幸的是,改成findOne并没有解决我的问题。需要继续四处看看。事实上我发现了我自己的问题。我查询的变量实际上是一个较大对象内部的参数。
Json.findOne({TestLocation: "New York"}, function(err, jsons) {
    if(err) { return next(err);}
    res.json(jsons);
});