簡體   English   中英

貓鼬在文檔中的任何地方

[英]Mongoose find anywhere inside document

我需要找到與userId匹配的記錄。 userId可以位於任何級別的文檔中。 它可以在父級中,也可以在friends數組中。

[{
    "_id": "543357620c9af6066e689713",
    "createdDate": "2014-10-06 08:00 pm",
    "cancle": false,
    "eventDate": "2014/12/12",
    "eventstatus": true,
    "location": "chennai",
    "userId": "54334def7e85de48638d1069",
    "createdBy": "four",
    "eventName": "jamba",
    "__v": 0,
    "friends": []
},
{
    "_id": "543356fe0c9af6066e68970c",
    "createdDate": "2014-10-06 07:59 pm",
    "cancle": false,
    "eventDate": "2014/12/12",
    "eventstatus": true,
    "location": "chennai",
    "userId": "54310801e2659ecc3650100b",
    "createdBy": "one",
    "eventName": "tea ",
    "__v": 0,
    "friends": [
        {
            "userId": "54310814e2659ecc3650100c",
            "userName": "two",
            "phoneNumber": "22222222"
        },
        {
            "userId": "54310945e2659ecc3650100d",
            "userName": "three",
            "phoneNumber": "33333333"
        },
        {
            "userId": "54334def7e85de48638d1069",
            "userName": "four",
            "phoneNumber": "44444444"
        }
    ]
}]

我正在嘗試很長時間。 非常感謝您的幫助。

您需要$or運算符。 另外,您無需迭代即可查詢數組中的元素。 假設您的收藏集名為Events

Events.find({
    $or: [
        { _id: req.params.userId },
        { 'friends.userId': req.params.userId }
    ]
}).exec();

暫無
暫無

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

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