gpt4 book ai didi

javascript - 如何按模式查找但排除条件列表

转载 作者:行者123 更新时间:2023-12-03 11:51:13 26 4
gpt4 key购买 nike

嗨,我有点被 Mongo/Mongoose 查询困扰,需要帮助。

我有一个名为 friend 的对象数组(例如创建了假数据):

friend :

[
{username: "Anders", age: 10},
{username: "Bella", age: 21},
{username: "Debbie", age: 22}
]

我在 Mongo 中还有一个表,我想查询它,名为 people:

人员:

   [
{username: "Anders", age: 10},
{username: "Andrew", age: 20},
{username: "Annmarie", age: 28},
{username: "Bella", age: 21},
{username: "Carl", age: 40},
{username: "Debbie", age: 22}
]

我的问题是我想检索用户名以“An”开头的人的所有文档,但排除 friend 数组中出现的文档。我不想搜索用户名以“An”开头的所有文档,然后再过滤掉,因为我的数据库相当大。

最佳答案

有一个$nor您可以将其应用于您的 friend 列表,以确保所有人都被排除在结果之外。另一部分是简单的$regex运算符来匹配以“An”开头的名称:

var friends = [
{username: "Anders", age: 10},
{username: "Bella", age: 21},
{username: "Debbie", age: 22}
];

var query = { "$nor": friends, "username": { "$regex": "^An" } };

这里最有效的索引显然是“用户名”和“年龄”,请注意,在此处锚定“正则表达式”是唯一对您有效的方法。

关于javascript - 如何按模式查找但排除条件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25829524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com