对于这个应用程序,我使用的是 Node.js、MongoDB、Mongoose 和 Express
所以我有一个包含枢轴数组的参数对象,我想从枢轴中读取某些数据,如下所述
---in models.js-------------------------
var Pivot = new Schema({
value : String
, destination : String
, counter : Number
});
var Param = new Schema({
title : String
, desc : String
, pivots : [Pivot]
});
------------- in main.js --------------
var Param = db.model('Param');
app.get('/:title/:value', function(req, res){
Param.findOne({"title":req.param('title')}, function(err, record){
console.log(record.pivots);
record.pivots.find({"value":req.param('value')}, function(err, m_pivot){
pivot.counter++;
res.redirect(m_pivot.destination);
});
record.save();
});
});
我知道代码在 console.log(record.pivots) 之前一直有效,因为我得到了一个包含正确枢轴文档的文档集合。
但是,似乎没有一种查找方法可以让我通过架构中定义的“值”属性匹配嵌入的文档。是否可以使用 .find() 或 .findOne() 搜索这个嵌入文档数组,如果没有,是否有一些简单的方法可以通过 mongoose 访问它?