![](/img/trans.png)
[英]Mongoose: change specific element in array that matches query
[英]Mongoose query to check for specific value in array of searched element
我有這樣的架構:
var EntitySchema = new Schema({
name : {type: String, default: null},
organizations : [{
id: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Organization'
}}]
});
我有一個組織 ID,如何查詢 Entity.find({}) 並在其組織數組中找到具有此 ID 的實體?
我在 mongo shell 中使用了這個
db.entity.find({"organizations.id": { $in: [ObjectId("ididididididid")]}}).pretty()
並且它有效,但它在快速方法中不起作用,我做錯了什么嗎? $in 是否雙向工作? 我有一種感覺,這不是我應該在這個查詢中使用的。
根據mongo文檔,您可以查詢如下
db.entity.find({ "organizations" : { $elemMatch: { "id" : ObjectId("ididididididid") } }}).pretty();
參考: https://docs.mongodb.com/manual/tutorial/query-array-of-documents/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.