MongoDB Mongoose 使用 Map 查找
Posted
技术标签:
【中文标题】MongoDB Mongoose 使用 Map 查找【英文标题】:MongoDB Mongoose find using Map 【发布时间】:2020-09-25 07:59:16 【问题描述】:我有一个像这样的猫鼬模式:
const userSchema = new Schema(
email: type: String, required: true, unique:true, index:true ,
mobile: type: String ,
phone: type: String ,
firstname: type: String ,
lastname: type: String ,
profile_pic:type:String,
socialHandles:
type: Map,
of: String
,
active: type:Boolean, default:true
,
timestamps: true
);
我想查询“给我用户 where socialHandles.instagram=jondoe”我该怎么做? 请帮忙
【问题讨论】:
【参考方案1】:Mongoose 的地图成为您数据库中的嵌套对象
"_id" : ObjectId(""), "socialHandles" : "instagram": "jondoe" , ..., "__v" : 0
所以你可以使用点符号来查询它:
let user = await User.findOne( 'socialHandles.instagram': 'jondoe' );
【讨论】:
谢谢。您将如何在 findone 中将“Instagram”作为 var 提供? 知道了。就像 const findUserBySocialHandle = ( platform, handle ) => User.findOne( [`socialHandles.$platform`]:handle); 收到了关于此问题的后续问题。如果 $platform 是由两个词组成的呢?以上是关于MongoDB Mongoose 使用 Map 查找的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB数据库安装与基本操作 - mongoose - 增删改查
mongoose入门以及 mongoose 实现数据 的增删改查
mongoDB (mongoose增删改查聚合索引连接备份与恢复监控等等)