Arrays 行为不同的相似数组
我正在用mongoose和Express编写一个应用程序,但在使用mongoose之前,我使用的是mongodb的标准MongoClient。这给了我一个数组,我可以用它来渲染我的细枝视图。但是,在进行切换之后,Mongoose的数组并没有像我预期的那样工作,因为我无法正确地选择数组的键的值,如下面的代码示例中所示 猫鼬:Arrays 行为不同的相似数组,arrays,node.js,mongodb,mongoose,Arrays,Node.js,Mongodb,Mongoose,我正在用mongoose和Express编写一个应用程序,但在使用mongoose之前,我使用的是mongodb的标准MongoClient。这给了我一个数组,我可以用它来渲染我的细枝视图。但是,在进行切换之后,Mongoose的数组并没有像我预期的那样工作,因为我无法正确地选择数组的键的值,如下面的代码示例中所示 猫鼬: router.get('/:page', function (req, res, next) { Page.find({'title': req.params.pag
router.get('/:page', function (req, res, next) {
Page.find({'title': req.params.page.toLowerCase()}, function (err, page) {
if(!Array.length) {
next(createError(404));
return;
}
res.send(page[0].title);
});
const MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost/ezcm', function (err, db) {
if (err) throw err;
let dbo = db.db("ezcm");
let query = {title: req.params.page.toLowerCase()};
dbo.collection("pages").find(query).toArray(function (err, result) {
if (!Array.isArray(result) || !result.length) {
next(createError(404));
return
}
db.close();
});
});
回答是:没有,空白。
出于某种原因,如果我执行page[0]
或仅执行page
,它将返回它应该返回的数组
没有猫鼬:
router.get('/:page', function (req, res, next) {
Page.find({'title': req.params.page.toLowerCase()}, function (err, page) {
if(!Array.length) {
next(createError(404));
return;
}
res.send(page[0].title);
});
const MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost/ezcm', function (err, db) {
if (err) throw err;
let dbo = db.db("ezcm");
let query = {title: req.params.page.toLowerCase()};
dbo.collection("pages").find(query).toArray(function (err, result) {
if (!Array.isArray(result) || !result.length) {
next(createError(404));
return
}
db.close();
});
});
(忽略不相关代码的额外位)
回答:我在寻找什么,比如关于我
如果是localhost:3000/关于
看起来它们都是数组,但是不同类型的数组?作为一个初学者,我不能很好地分辨和使用它们。救救我
提前感谢。使用
JSON.parse(array)
结果是,mongoose喜欢以不同于标准JSON的方式处理其对象和数组。为什么要使用if(!array.length)
而不是if(!page | | page.length)
<代码>数组。长度与页面
毫无关系。@jfriend00哦,我已经更改了,但正如预期的那样,当您使用控制台时,什么类型的对象是页面
。log
它?@Houseman object没有任何影响Array@MucaP此数组中是否存在第0个索引?它是否有title属性?否,失败:SyntaxError:Object.parse(本机)位置2处JSON中的意外标记