Node.js 数组子文档中按数组搜索Mongoose

Node.js 数组子文档中按数组搜索Mongoose,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我在过滤mongoose子文档中的数据时遇到了一些问题。我有这样的收藏 [ { Title : "Some Title", Tags : [ "angular", "html" ] }, { Title : "Another Title", Tags : [ "css", "html" ] }, {

我在过滤mongoose子文档中的数据时遇到了一些问题。我有这样的收藏

[
    {
        Title : "Some Title",
        Tags : [
            "angular", "html"
        ]
    },
    {
        Title : "Another Title",
        Tags : [
            "css", "html"
        ]
    },
    {
        Title : "Another Title 2",
        Tags : [
            "css"
        ]
    }
]
我想通过查找匹配标记来获取一些数据。如果标记是“angular”和“html”,那么我会得到第1行(来自angular和html)和第2行(来自html)。如果标签是“css”,那么我得到第2行和第3行


如果可能的话,你会这么做吗?我正在使用mongoose

.find({“Tags”:“css”})
有什么问题?您不必对值数组执行任何特殊操作,因为MongoDB并不关心。除非您的意思是希望“所有”元素匹配。接线员是这样做的
.find({“Tags”:{“$all”:[“css”,“angular”]})
。这就是你要问的吗?请记住,这也适用于
{“标记”:[“角度”,“html”]}
,但这不会
{“标记”:[“html”,“角度”]}
,因为顺序不准确。这就是使用
$all
的时候。我想是两个不同的问题。@neil嘿,sory,我只是忘了我问题中的一些东西。我刚刚编辑的问题如下。谢谢你之前的回答。我真的不知道你的问题到底是什么。你的问题是什么?如注释所示,我假定您A.)误解了您不需要提供“数组”来匹配数组中的项目B.)将“数组”作为参数的“精确匹配”与使用
$all
运算符之间的区别。因此,当你不清楚你的问题是什么时,很难回答问题。
.find({“Tags”:“css”})
问题是什么?您不必对值数组执行任何特殊操作,因为MongoDB并不关心。除非您的意思是希望“所有”元素匹配。接线员是这样做的
.find({“Tags”:{“$all”:[“css”,“angular”]})
。这就是你要问的吗?请记住,这也适用于
{“标记”:[“角度”,“html”]}
,但这不会
{“标记”:[“html”,“角度”]}
,因为顺序不准确。这就是使用
$all
的时候。我想是两个不同的问题。@neil嘿,sory,我只是忘了我问题中的一些东西。我刚刚编辑的问题如下。谢谢你之前的回答。我真的不知道你的问题到底是什么。你的问题是什么?如注释所示,我假定您A.)误解了您不需要提供“数组”来匹配数组中的项目B.)将“数组”作为参数的“精确匹配”与使用
$all
运算符之间的区别。所以当你不清楚你的问题是什么的时候,回答一个问题真的很难。