簡體   English   中英

在貓鼬中,如何找到對象具有特定鍵/值的對象數組?

[英]In Mongoose, how do you find an array of objects where an object has a specific key/value?

在Mongoose模型Person ,有一個稱為matches的對象數組。

matches看起來像

     [
        {
            "$oid": "558ced061d35bd072e7b5825"
        },
        {
            "$oid": "558ced061d35bd072e7b58a0"
        },
        {
            "$oid": "558ced061d35bd072e7b58c6"
        }
    ],

我想創建一個查詢,以查找在其matches數組中具有ID的Person

問題在於,匹配查詢似乎僅適用於字符串數組,例如

models.Person.find({matches: 558ced061d35bd072e7b58c6})

但不適用於包含字符串值的對象數組。

有誰知道如何做到這一點?

您可以將字符串轉換為ObjectId並在查詢中使用它,如下所示:

var mongoose = require("mongoose"),
    person_id  = mongoose.Types.ObjectId("558ced061d35bd072e7b58c6");

models.Person.find({ "matches": person_id }).exec(callback);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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