我有两个模式 - User 和 Conversation,这是一个基于 node/express/mongoose 的项目。我已经在每个模式上添加了索引。当我在我的(免费的)Mongo Atlas集群中检查索引时,我可以看到Conversation的索引已经创建。然而,User没有创建所需的索引。
这是我的User Schema:
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const userSchema = new Schema(
{
username: { type: String, required: true, unique: true },
email: { type: String, required: true, unique: true },
password: { type: String, required: true },
age: { type: String},
location: {
type: { type: String, enum: ["Point"], default: "Point" },
coordinates: { type: [Number], default: [0, 0] },
},
},
{ timestamps: true }
);
userSchema.index({ age: 1, location: "2dsphere", username: 1 });
module.exports = mongoose.model("User", userSchema);
id
(当然),和email
。我从未要求对email进行索引。age
、location
和username
没有被索引。如何解决这个问题?