标签: javascript mongodb meteor
我在Meteor中有一个简单的标签集合。目前,为了确保用户无法创建重复的Tag文档,我执行此操作:
var existingTag = Tags.findOne({name: "userInput"})
如果未定义existingTag,那么我可以继续进行插入。
使用meteor mongodb语法有更好/更正确的方法吗?似乎没有找到任何关于此的文件。
感谢。
答案 0 :(得分:1)
一个好的解决方案是在唯一字段创建Mongo索引。这样,您就可以在Mongo级别进行唯一性验证,以及在该字段上进行搜索的性能提升。
Meteor目前还不直接支持索引创建,因此您需要手动登录数据库并从中添加索引。对此的命令是:
db.tags.ensureIndex({name: 1}, {unique: true})
Here和here您可以找到更多信息。