在nodejs中,我从Postman收到一个像这样的对象: 系统数据:{ 状态:“活跃” }
这需要动态转换为点符号,如 { 'sysData.status': 'active' } 这样我就可以用 Mongoose 进行查找。
对象可以改变。我如何动态转换它?
在Postman中,我在sysData.status之后创建了一个查询参数,但是我在nodejs中没有收到这个。当我在 SysData[status] 之后创建查询参数时,我在 Nodejs 中以对象文字表示法收到此参数,在我看来,我不能将其用于猫鼬。所以我需要转换这个。由于查询参数可以更改,因此需要动态完成。
或者有其他方法可以解决这个问题吗?
您可以使用
object
文字 sysData: { status: 'active' }
直接在 find()
上执行 Model
,而不是在进行查询之前先转换为点表示法。 Mongoose 在查询数据库服务器之前会在内部转换为点表示法。
query = { sysData: { status: 'active' } }
Model.find(query) /*[mongoose-docs]*/ <—— query will be used as filter parameter.