mongodb - Mongoose 从数组中返回一个对象
问题描述
我使用猫鼬,我的 mongodb 中有这些数据:
"_id" : ObjectId("5f13e1edf7c56a896987c191"),
"deleted" : false,
"email" : "klinikkoding@gmail.com",
"firstName" : "Klinik",
"lastName" : "Koding",
"resetToken" : null,
"workspaces" : [
{
"status" : "active",
"_id" : ObjectId("5f13e124f7c56a896987c18e"),
"code" : "kk",
"name" : "Klinik Koding",
"_roleId" : ObjectId("5f13de3eb33fa33ce2a3b0dd")
},
{
"status" : "invited",
"_id" : ObjectId("5f13e13ff7c56a896987c190"),
"code" : "rm",
"name" : "The Manage",
"_roleId" : ObjectId("5f13de3eb33fa33ce2a3b0dd")
}
],
我怎样才能只返回一个工作区?我需要的输出是这样的:
"_id" : ObjectId("5f13e1edf7c56a896987c191"),
"deleted" : false,
"email" : "klinikkoding@gmail.com",
"firstName" : "Klinik",
"lastName" : "Koding",
"resetToken" : null,
"workspaces" : [
{
"status" : "active",
"_id" : ObjectId("5f13e124f7c56a896987c18e"),
"code" : "kk",
"name" : "Klinik Koding",
"_roleId" : ObjectId("5f13de3eb33fa33ce2a3b0dd")
},
],
任何人都可以帮助我解决这个问题吗?
解决方案
尝试这个。
async function retrieve(){
// You can retrieve it by any field. I used email because it is unique.
let data=await yourModelName.findOne({email:"klinikkoding@gmail.com"})
data.workspaces.splice(1,1)
console.log("your final result",data)
}
retrieve()
推荐阅读
- java - Spring Boot 中的代理 FactoryBean 实现
- html - 使用 nowrap 消除多余的高度
- android - 如何减小菜单弹出窗口的大小
- c++ - 运行 C++ 代码/应用程序,使它们具有库隔离;但仍然主机应用程序级别使用主机 UI 和 GPU
- ruby-on-rails - 如何在 Ruby 的 do 循环中显示特定范围?
- mysql - 无法更新存储函数/触发器中的表“注释”,因为它已被调用此存储函数/触发器的语句使用
- php - 我想将一些图片文件上传到我的服务器并将文件名记录在mysql数据库中但不知何故存在问题
- node.js - 在 npm mongoose-encryption 模块中使用 var secret
- python - 如何从列表中删除一些元素取决于一些标准
- android - 如何制作连接的弧形按钮?详见图片