本文整理汇总了Golang中labix/org/v2/mgo.Index.DropDups方法的典型用法代码示例。如果您正苦于以下问题:Golang Index.DropDups方法的具体用法?Golang Index.DropDups怎么用?Golang Index.DropDups使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类labix/org/v2/mgo.Index
的用法示例。
在下文中一共展示了Index.DropDups方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Index
// Index creates the default indeces for the graph.
func (m *Mongo) Index(gid string, background bool) error {
m.Session.ResetIndexCache()
sessionCopy := m.Session.Copy()
defer sessionCopy.Close()
col := sessionCopy.DB(m.DBName).C(gid)
cInfo := &mgo.CollectionInfo{DisableIdIndex: true}
err := col.Create(cInfo)
if err != nil {
log.Error(err)
}
/*
// TODO figure out the magic of mongo indexes
index := mgo.Index{
Key: []string{"g", "s", "p", "o"},
Background: false,
Sparse: true,
Unique: true,
DropDups: true,
}
err := col.EnsureIndex(index)
return err
*/
index := mgo.Index{
Key: []string{"g", "s"},
Background: background,
Sparse: true,
}
err = col.EnsureIndex(index)
if err != nil {
log.Error(err)
//return err
}
log.V(2).Infof("%+v", index)
index.Key = []string{"g", "o"}
err = col.EnsureIndex(index)
if err != nil {
log.Error(err)
//return err
}
log.V(2).Infof("%+v", index)
index.Key = []string{"g", "p"}
err = col.EnsureIndex(index)
if err != nil {
log.Error(err)
//return err
}
log.V(2).Infof("%+v", index)
index.Key = []string{"g", "s", "p"}
err = col.EnsureIndex(index)
if err != nil {
log.Error(err)
//return err
}
log.V(2).Infof("%+v", index)
index.Key = []string{"g", "s", "o"}
err = col.EnsureIndex(index)
if err != nil {
log.Error(err)
//return err
}
log.V(2).Infof("%+v", index)
index.Key = []string{"g", "p", "o"}
err = col.EnsureIndex(index)
if err != nil {
log.Error(err)
//return err
}
log.V(2).Infof("%+v", index)
index.Key = []string{"g", "s", "p", "o"}
index.Unique = true
index.DropDups = true
err = col.EnsureIndex(index)
if err != nil {
log.Error(err)
//return err
}
log.V(2).Infof("%+v", index)
return nil
}