猫鼬查询以检查所搜索元素的数组中的特定值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了猫鼬查询以检查所搜索元素的数组中的特定值相关的知识,希望对你有一定的参考价值。
我的架构如下:
var EntitySchema = new Schema(
name : type: String, default: null,
organizations : [
id:
type: mongoose.Schema.Types.ObjectId,
ref: 'Organization'
]
);
我有一个组织ID,如何查询Entity.find()并在其组织数组中找到具有该ID的Entity?
我在mongo shell中使用了它
db.entity.find("organizations.id": $in: [ObjectId("ididididididid")]).pretty()
并且它有效,但是在express方法中不起作用,我做错了吗? $ in是否同时起作用?我有一种感觉,它不是我在此查询中应该使用的。
答案
根据mongo文档,您可以按以下方式查询
db.entity.find( "organizations" : $elemMatch: "id" : ObjectId("ididididididid") ).pretty();
参考:https://docs.mongodb.com/manual/tutorial/query-array-of-documents/
以上是关于猫鼬查询以检查所搜索元素的数组中的特定值的主要内容,如果未能解决你的问题,请参考以下文章
数组中的猫鼬查询,用于检索从索引 0 到 n 开始的元素,其中 n 是从最后一个元素开始的位置
mongodb:查询以检查数组中的项目是不是包含特定字符串[重复]