在猫鼬中设置唯一密钥



我目前正在使用以下代码。我基本上使用mongoose文档中的示例,但我试图使名称字段成为唯一的

在这里,我有意创造两个独特的";小猫";并试图挽救他们两个

const mongoose = require("mongoose");
mongoose.connect("mongodb://localhost/test", {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true
});
const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error:"));
db.once("open", function () {
console.log("Connected to database");
});
const kittySchema = new mongoose.Schema({
name: { type: String, unique: true },
});
kittySchema.methods.speak = function () {
const greeting = this.name
? "Meow name is " + this.name
: "I don't have a name";
console.log(greeting);
};
const Kitten = mongoose.model("Kitten", kittySchema);
const fluffy = new Kitten({ name: "fluffy" });
fluffy.save();
const fluffy2 = new Kitten({ name: "fluffy" });
fluffy2.save();

使用unique属性似乎不起作用,因为我在数据库中不断获得重复的条目。我还尝试过在模式中使用removedups键,我认为这已经被弃用了。

此属性unique不用于唯一保存数据。它用于将应用于字段的唯一索引。

你可以在这里查看文档。

https://joshtronic.com/2018/06/07/unique-indexes-with-mongodb-and-mongoose/

最新更新