Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何停止使用mongoose对_id进行自动索引?_Mongodb_Indexing_Mongoose - Fatal编程技术网

Mongodb 如何停止使用mongoose对_id进行自动索引?

Mongodb 如何停止使用mongoose对_id进行自动索引?,mongodb,indexing,mongoose,Mongodb,Indexing,Mongoose,我有以下模式定义: var mongoose = require('mongoose'); var Schema = mongoose.Schema; var EmpSchema = new Schema({ EmpName: {type: String}, EmpRefered : {type: [String]}, }); 因此,现在自动生成\u id,并自动编制索引。由于某些模式的特殊原因,我甚至不想在\u id字段上建立索引 为此,我尝试了以下代码: options =

我有以下模式定义:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var EmpSchema = new Schema({
    EmpName: {type: String},
    EmpRefered : {type: [String]},
});
因此,现在自动生成
\u id
,并自动编制索引。由于某些模式的特殊原因,我甚至不想在
\u id
字段上建立索引

为此,我尝试了以下代码:

options = {config:{autoIndex:false}};
var db2 = mongoose.createConnection('mongodb://localhost/DBName', options);
按照计划,这应该是一项工作。如果我遗漏了什么或其他方法,谁能帮我点灯


注意:但我不希望使用本机驱动程序和命令删除所有索引。

好吧,我不确定您是否可以在mongoose中禁用
\u id
上的自动索引,但您确实可以从
Mongoshell中禁用它。但是,请记住,此设置应用于集合级别

您将使用自定义选项创建集合

db.createCollection('collection', {autoIndexId: false})
但是,请记住,如果在
\u id
上禁用自动索引,复制将无法工作


请看

好吧,我不确定您是否可以在mongoose中禁用
\u id
上的自动索引,但您确实可以从
mongo shell
中禁用它。但是,请记住,此设置应用于集合级别

您将使用自定义选项创建集合

db.createCollection('collection', {autoIndexId: false})
但是,请记住,如果在
\u id
上禁用自动索引,复制将无法工作


请参见

@joao,实际上您可以禁用
\u id
字段上的索引。请参阅@Saleem,autoIndexId ia已弃用,并将根据您刚才链接的文档页面在3.4版中删除。@joao是的,您是正确的。@joao,您确实可以禁用
\u id
字段上的索引。请参阅@Saleem,autoIndexId ia已弃用,将根据您刚才链接的文档页面在3.4版中删除。@joao是的,您是正确的。