在我的nodejs代码中,我使用mongoose运行mongo查询。
我正在探索从代码中完全将查询具体化的方法。理想情况下,查询只是存储在queries.json中的json对象。但是,我不知道如何处理查询中的参数。
例如,我需要传递一个特定的id,现在我需要创建一个javascript函数,该函数接受id并通过将id烘焙成查询对象来构造查询对象。
虽然在SQL中,存在预先准备好的语句,但我认为MongoDB的工作方式不同。但是,将查询作为JSON进行查询会更干净,因为这样我就可以在mongo中运行这些查询,将params一起传递,而不是使用javascript文件来完成工作。
发布于 2022-01-15 10:50:57
Mongo查询是一个JSON对象。类似于SQL准备语句中的参数是不可能的。但你可以这样做,例如:
var id = "foo";
var pipeline = [
{$match: {name: id}},
{$project: {name: 1, mail: 1}}
];
pipeline.push({$limit: 3});
db.collection.aggregate(pipeline);
// Use a different value for match:
pipeline[0]['$match'].name = "bar";
db.collection.aggregate(pipeline);https://stackoverflow.com/questions/70719675
复制相似问题