我有一份这样的文件:
{
subscriptions: [ 5cdf062b4a068f0b30cb9f18, 5afb062b4a068d9b41ab8c55, ... ],
_id: 5d6a3d0bead1c01844ec4c75,
email: 'papa@example.com',
user_name: 'Papa Roche'
}
一个用户可以有许多订阅,但我怀疑它永远不会达到超过一百万的数字。 现在我要检查订阅id是否已经存在。 做这件事的最好方法是什么? 我是使用数组函数循环访问订阅字段的内容,还是使用mongoose查询db并查看字段中是否存在此id? 请举出一个例子,并稍作阐述。
您可能最好重新构造您的模式,以便订阅字段的值是一个对象,而不是一个数组。 这样,您将有固定的时间查找给定的订阅ID。 因此当前的内容将变为:
{
subscriptions: { 5cdf062b4a068f0b30cb9f18: {...subscriptionData}, 5afb062b4a068d9b41ab8c55: {...subscriptionData}, ... },
_id: 5d6a3d0bead1c01844ec4c75,
email: 'papa@example.com',
user_name: 'Papa Roche'
}