Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在MondoDB中查询两个字符串?_Node.js_Mongodb_Mongoose_Mongodb Query - Fatal编程技术网

Node.js 如何在MondoDB中查询两个字符串?

Node.js 如何在MondoDB中查询两个字符串?,node.js,mongodb,mongoose,mongodb-query,Node.js,Mongodb,Mongoose,Mongodb Query,下面是联系人数组的架构。contacts数组有一个字段hashtag,它是另一个数组。 当用户搜索一个单独的标签——openLove时,我会得到结果。当用户搜索#openLove#婚姻并期望联系人标记为openLove and Marriage时,如何查询 为什么不保存所有没有“#”的hastag?一种方法是不带#进行存储,并在查找时从用户提供的输入中删除#。这种方法如果您知道查询,它可以使用两种方法,带和不带#,并且您的联系人数组位于任何文档中?是的,我正在保存不带“#”的哈希标记。问题不在于

下面是联系人数组的架构。contacts数组有一个字段hashtag,它是另一个数组。 当用户搜索一个单独的标签——openLove时,我会得到结果。当用户搜索#openLove#婚姻并期望联系人标记为openLove and Marriage时,如何查询


为什么不保存所有没有“#”的hastag?一种方法是不带#进行存储,并在查找时从用户提供的输入中删除#。这种方法如果您知道查询,它可以使用两种方法,带和不带#,并且您的联系人数组位于任何文档中?是的,我正在保存不带“#”的哈希标记。问题不在于存储实际的“#”。我试图得到两个标签的结果——openLove和Marriage是两个diff联系人的一部分。当用户同时搜索它们时,结果应该是这两个带有哈希标记的联系人。您尝试过$elemMatch吗?您可以在字段hastags.上使用“$in”,并在elemMatch投影上使用。。我想如果你把这两者结合起来,它会对你有所帮助。你为什么不把所有的hastag都保存起来而不加“#”呢?一种方法是不带#进行存储,并在查找时从用户提供的输入中删除#。这种方法如果您知道查询,它可以使用两种方法,带和不带#,并且您的联系人数组位于任何文档中?是的,我正在保存不带“#”的哈希标记。问题不在于存储实际的“#”。我试图得到两个标签的结果——openLove和Marriage是两个diff联系人的一部分。当用户同时搜索它们时,结果应该是这两个带有哈希标记的联系人。您尝试过$elemMatch吗?您可以在字段hastags.上使用“$in”,并在elemMatch投影上使用。。我想如果你把这两者结合起来,会对你有所帮助。
"contacts" : [
    {
        "addedDate" : ISODate("2015-12-02T09:06:09.891Z"),
        "personEmailId" : "tell.fadgfdg@gmail.com",
        "_id" : ObjectId("565eb481bf35eeb83d7f9f13"),
        "verified" : true,
        "favorite" : true,
        "linkedinUserName" : null,
        "facebookUserName" : null,
        "twitterUserName" : "IamlifePaul",
        "count" : 2,
        "relationshipStrength_updated" : 0,
        "contactRelation" : {
            "decisionmaker_influencer" : null,
            "prospect_customer" : "prospect"
        },
        "source" : "abc",
        "mobileNumber" : "3546789",
        "skypeId" : "123",
        "designation" : "test",
        "companyName" : "Something",
        "location" : "Hyderabad, Telangana, India",
        "personName" : "Naveen Paul",
        "personId" : "565022d7dbeaeb9e17fc7083",
        "hashtag" : [

            "latestTag",
            "anotherTag",
            "#hash",
            "openLove",
            "hellTwo",
            "working?",
            "hello",
            "lol",
            "zxc"
        ],
        "lastInteracted" : ISODate("2015-12-08T05:07:53.746Z")
    },
{
        "addedDate" : ISODate("2015-12-02T09:06:09.891Z"),
        "personEmailId" : "naveenpaul.fadgfdg@gmail.com",
        "_id" : ObjectId("565eb481bf35eeb83d7f9f13"),
        "verified" : true,
        "favorite" : true,
        "linkedinUserName" : null,
        "facebookUserName" : null,
        "twitterUserName" : "IamlifePaul",
        "count" : 2,
        "relationshipStrength_updated" : 0,
        "contactRelation" : {
            "decisionmaker_influencer" : null,
            "prospect_customer" : "prospect"
        },
        "source" : "abc",
        "mobileNumber" : "3546789",
        "skypeId" : "123",
        "designation" : "test",
        "companyName" : "Something",
        "location" : "Hyderabad, Telangana, India",
        "personName" : "Naveen Paul",
        "personId" : "565022d7dbeaeb9e17fc7083",
        "hashtag" : [

            "latestTag",
            "anotherTag",
            "#hash",
            "marraige",
            "hellTwo",
            "working?",
            "hello",
            "lol",
            "zxc"
        ],
        "lastInteracted" : ISODate("2015-12-08T05:07:53.746Z")
    },
{
        "addedDate" : ISODate("2015-12-02T09:06:09.891Z"),
        "personEmailId" : "naveenpaul.fadgfdg@gmail.com",
        "_id" : ObjectId("565eb481bf35eeb83d7f9f13"),
        "verified" : true,
        "favorite" : true,
        "linkedinUserName" : null,
        "facebookUserName" : null,
        "twitterUserName" : "IamlifePaul",
        "count" : 2,
        "relationshipStrength_updated" : 0,
        "contactRelation" : {
            "decisionmaker_influencer" : null,
            "prospect_customer" : "prospect"
        },
        "source" : "abc",
        "mobileNumber" : "3546789",
        "skypeId" : "123",
        "designation" : "test",
        "companyName" : "Something",
        "location" : "Hyderabad, Telangana, India",
        "personName" : "Naveen Paul",
        "personId" : "565022d7dbeaeb9e17fc7083",
        "hashtag" : [

            "polly",
            "tagger",
            "#hash",
            "working?",
            "hello",
            "lol",
            "zxc"
        ],
        "lastInteracted" : ISODate("2015-12-08T05:07:53.746Z")
    }