在Mongoose / MongoDB中创建多字段索引

时间:2012-09-24 22:20:55

标签: mongodb mongoose

我正试图找到关于如何在Mongoosejs中创建多字段索引的文档,但无济于事。特别是我有两个需要索引和唯一的字段。什么是将两个字段索引在一起的示例mongoose模式?

4 个答案:

答案 0 :(得分:163)

您调用index对象上的Schema方法,如图here所示。对于你的情况,它将是这样的:

mySchema.index({field1: 1, field2: 1}, {unique: true});

答案 1 :(得分:9)

创建复合索引时,必须在架构级别定义索引。

animalSchema.index({ name: 1, type: -1 });

参考:http://mongoosejs.com/docs/guide.html#indexes

答案 2 :(得分:1)

顺便说一句,接受的答案是错误的,根据https://stackoverflow.com/a/52553550/129300,您应该将字段名称用单引号引起来,即:

mySchema.index({'field1': 1, 'field2': 1}, {unique: true});

快乐的一天!

答案 3 :(得分:0)

one
two(three

我已经对样本数据进行了测试,它完全按预期工作。