簡體   English   中英

ZCCADDEDB567ABAE643E15DCF0974E503Z 查詢以檢查搜索元素數組中的特定值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM