gpt4 book ai didi

node.js - Mongoose:跨多个领域的独特性

转载 作者:太空宇宙 更新时间:2023-11-03 23:40:09 25 4
gpt4 key购买 nike

这是我的架构:

var user = new Schema({
// other fields...

email_1: String,
email_2: String
});

有没有办法确保email_1email_2的唯一性?即,如果某封电子邮件被保存为某个用户的 email_1,则其他任何人都无法将其保存为 email_1email_2。 p>

我尝试过复合索引,但它只检查电子邮件对,并且我需要所有电子邮件都是唯一的。

最佳答案

使用数组索引为 multikey indexes 的事实并将您的电子邮件存储为“有序对”[email1, email2]:

> db.emails.ensureIndex({ "emails" : 1 }, { "unique" : true })
> db.emails.insert({ "emails" : ["me@wdb.com", "metoo@wdb.com"] })
> db.emails.insert({ "emails" : ["you@eagor.com", "me@wdb.com"] }) // MongoDB says NO!
> db.emails.insert({ "emails" : ["metoo@wdb.com", "myself@wdb.com"] }) // MongoDB says NO

关于node.js - Mongoose:跨多个领域的独特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25483347/

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