gpt4 book ai didi

mongodb - 通过 Mongoose、Node.js、MongodB 中的特定属性查找嵌入式文档

转载 作者:IT老高 更新时间:2023-10-28 13:28:51 25 4
gpt4 key购买 nike

对于这个应用程序,我使用的是 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 访问它?

最佳答案

瓦伦斯林,

应该这样做

app.get('/:title/:value', function(req, res) {
Param.findOne({'pivots.value': req.param('value'), "title":req.param('title')}},
function(err, record) {
record.pivot.counter++;
res.redirect(m_pivot.destination);
record.save();
});
});

注意查询的复数形式以匹配架构中的字段名称

关于mongodb - 通过 Mongoose、Node.js、MongodB 中的特定属性查找嵌入式文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5772982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com