在ID数组中的相同ID的猫鼬上搜索多个文档

时间:2020-07-01 21:41:43

标签: node.js arrays mongodb mongoose

我有一个小问题,我正在使用带有猫鼬的NoSQL数据库,并且我有两个包含ID的narray的文档

{
    "_id": {
        "$oid": "5efa6e4aebbc0401a4f613a5"
    },
    "roomID": [
        "5efbb6d0531e4a5c0c08d06b"
    ],
    "createdAt": {
        "$date": "2020-06-29T22:39:09.427Z"
    },
    "userID": {
        "$oid": "5efa6e49ebbc0401a4f613a4"
    },
    "__v": 0
} 

{
    "_id": {
        "$oid": "5efb868fc569cb50c4505a63"
    },
    "roomID": [
        "5efbb6d0531e4a5c0c08d06b",
        "5efcf95183e3c6618c10db7a"
    ],
    "createdAt": {
        "$date": "2020-06-30T18:36:43.851Z"
    },
    "userID": {
        "$oid": "5efb868fc569cb50c4505a62"
    },
    "__v": 0
}

并且我想搜索包含两个 roomID 的每个文档,例如两个文档中都包含的 5efbb6d0531e4a5c0c08d06b

2 个答案:

答案 0 :(得分:0)

const roomID =“ 5efbb6d0531e4a5c0c08d06b” findMany({roomID:})

答案 1 :(得分:0)

假设您的猫鼬模型命名为Chat,然后尝试以下操作:

const rooms = await Chat.find({roomID: "5efbb6d0531e4a5c0c08d06b"})

参考: MongoDB Manual - Query an Array for an Element