gpt4 book ai didi

javascript - Mongoose 中嵌入文档的重复键错误索引

转载 作者:可可西里 更新时间:2023-11-01 09:56:53 25 4
gpt4 key购买 nike

我正在尝试使用 mongoose 运行这个简单的嵌入式文档:

var mongoose = require('mongoose');
var PageSchema = new mongoose.Schema({
url:String
});
var AlbumSchema = new mongoose.Schema({
pages:[ PageSchema ]
});

mongoose.model('Album', AlbumSchema);
var Album = mongoose.model('Album');
var album = new Album({pages:[{url:"1"}]});
album.save(function(err, a) {
console.log(err);
});

在我第二次运行这段代码后,我得到了这个错误:

{ 
[MongoError: E11000 duplicate key error index: doalbums.albums.$pages.id_1 dup key: { : null }]
name: 'MongoError',
err: 'E11000 duplicate key error index: doalbums.albums.$pages.id_1 dup key: { : null }',
code: 11000,
n: 0,
connectionId: 161,
ok: 1
}

我做错了什么?

最佳答案

我不确定你在这里做错了什么,但发生的事情是:为字段“页面”创建了一个索引,因此它不允许重复。要检查这一点,您可以在 mongo shell doalbums.albums.getIndexes()(我认为您的数据库名称是 doalbums 和集合名称是 albums )这将列出“专辑”中的所有索引。然后使用 db.albums.dropIndex() 删除不需要的索引。这将允许重复。可以引用http://docs.mongodb.org/manual/administration/indexes/

关于javascript - Mongoose 中嵌入文档的重复键错误索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13439102/

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