猫鼬路由特定查询输出
Mongoose Routing Specific Query Output
Mongo新问题。我正在尝试构建一个基于用户输入的参数查询现有数据库的 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 = "New York")
// Pulls a JSON with City New York
router.get('/jsons/NewYork', function(req, res, next) {
var queryNYC = Json.where({TestLocation: "New York"});
queryNYC.findOne(function(err, jsons) {
if(err) { return next(err);}
res.json(jsons);
});
});
这是向我返回 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);
});
Mongo新问题。我正在尝试构建一个基于用户输入的参数查询现有数据库的 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 = "New York")
// Pulls a JSON with City New York
router.get('/jsons/NewYork', function(req, res, next) {
var queryNYC = Json.where({TestLocation: "New York"});
queryNYC.findOne(function(err, jsons) {
if(err) { return next(err);}
res.json(jsons);
});
});
这是向我返回 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);
});