将猫鼬的对象文字表示法转换为点表示法

问题描述 投票:0回答:1

在nodejs中,我从Postman收到一个像这样的对象: 系统数据:{ 状态:“活跃” }

这需要动态转换为点符号,如 { 'sysData.status': 'active' } 这样我就可以用 Mongoose 进行查找。

对象可以改变。我如何动态转换它?

在Postman中,我在sysData.status之后创建了一个查询参数,但是我在nodejs中没有收到这个。当我在 SysData[status] 之后创建查询参数时,我在 Nodejs 中以对象文字表示法收到此参数,在我看来,我不能将其用于猫鼬。所以我需要转换这个。由于查询参数可以更改,因此需要动态完成。

或者有其他方法可以解决这个问题吗?

javascript node.js mongoose postman
1个回答
0
投票

您可以使用

object
文字
sysData: { status: 'active' }
直接在
find()
上执行
Model
,而不是在进行查询之前先转换为点表示法。 Mongoose 在查询数据库服务器之前会在内部转换为点表示法。

query = { sysData: { status: 'active' } }
Model.find(query) /*[mongoose-docs]*/ <—— query will be used as filter parameter.
© www.soinside.com 2019 - 2024. All rights reserved.