我想在authorName
上調用ensureIndex
,該代碼中的命令和位置應該放在哪裏?在mongodb模式中使用ensureIndex使用貓鼬
var mongoose = require('mongoose');
// defines the database schema for this object
var schema = mongoose.Schema({
projectName : String,
authorName : String,
comment : [{
id : String,
authorName : String,
authorEmailAddress : { type : String, index : true }
}]
});
// Sets the schema for model
var ProjectModel = mongoose.model('Project', schema);
// Create a project
exports.create = function (projectJSON) {
var project = new ProjectModel({
projectName : projectJSON.projectName,
authorName : projectJSON.authorName,
comment : [{
id : projectJSON.comments.id,
authorName : projectJSON.comments.authorName,
authorEmailAddress : projectJSON.authorEmailAddress
});
project.save(function(err) {
if (err) {
console.log(err);
} else{
console.log("success");
}
});
});
}
會有很多索引是好事,還是會降低性能?我明白,屬性上的單個索引意味着擁有O(log n) – bouncingHippo
@bouncingHippo您只想創建實際需要支持所需查詢性能的索引。在添加/編輯文檔時,每個索引都會添加工作,並佔用磁盤和內存。 – JohnnyHK
我編輯了這個問題,你想介紹一下我試圖找到特定用戶的所有評論嗎?謝謝!! – bouncingHippo