美文网首页
mgo建立索引

mgo建立索引

作者: funcx | 来源:发表于2018-11-23 13:19 被阅读27次
package main

import (
    "log"

    mgo "gopkg.in/mgo.v2"
)

var conn = dao.New().GetConn()

var testDBC = conn.DB("test").C("test")

type Person struct {
    Name  string `bson:"name,omitempty"`
    Age   int    `bson:"age,omitempty"`
    Score int    `bson:"score,omitempty"`
}

type M map[string]interface{}
type S string
type I interface{}

func errFatal(err error) {
    if err != nil {
        log.Fatal(err)
    }
}

type C struct {
    A `bson:",inline"`
    B `bson:",inline"`
}

type B struct {
    Value string `form:"b" json:"b" bson:"b,omitempty" text:"b"`
}

func (v *B) Set(value string) {
    v.Value = value
}

func (v *B) Get() string {
    return v.Value
}

type A struct {
    Value string `form:"a" json:"a" bson:"a,omitempty" text:"a"`
}

func (v *A) Set(value string) {
    v.Value = value
}

func (v *A) Get() string {
    return v.Value
}

func main() {
    // 建立一次即可
    errFatal(testDBC.EnsureIndex(mgo.Index{Key: []string{"a"}, Unique: true}))
    c := new(C)
    c.A.Set("5")
    errFatal(testDBC.Insert(c))
    errFatal(testDBC.Insert(c))
}
第二次插入数据报错
2018/11/23 13:18:40 E11000 duplicate key error collection: test.test index: a_1 dup key: { : "5" }

相关文章

  • mgo建立索引

  • 一日一学_Go语言mgo(mongo场景应用)

    本文重点介绍mgo使用,仅简单介绍mongodb。 mongodb特性 mgo简介 mgo 是 mongodb 的...

  • 搜索引擎Lucene(4):索引的创建过程

    1、索引维护 创建索引的过程如下: 建立索引器 Indexwriter。 建立文档对象 Document。 建立信...

  • 联合索引-以及如何使用索引

    联合索引 建立索引的时候,尽量建立联合索引,即多个字段组成1个索引。因为如果针对单个字段建立索引的话,会造成索引过...

  • 索引创建-oracle

    索引,索引的建立、修改、删除建立索引 CREATE INDEX命令语法: CREATE INDEXCREATE [...

  • MySQL索引建立规则及优化

    概述     相信搭建都知道数据库的常见优化方式,就是建立索引;但是何时建立索引、那些字段需要建立索引,索引是否生...

  • 10 两表优化案例

    创建表 SQL语句 在左表建立索引 在右表建立索引,删掉左表索引 在右表建立索引,type变为ref,rows优化...

  • golang操作mongo

    mgo教程

  • mongodb索引

    先题几个问题 什么是索引? 如何建立索引? 如何选择建立索引的字段? 如何强制使用索引? 如何评估索引效率? 如果...

  • 索引

    一、索引原理索引类似于字典、图书目录,建立索引后数据库会建立一张索引表,建立索引字段搜索时,不会全表扫描,会根据索...

网友评论

      本文标题:mgo建立索引

      本文链接:https://www.haomeiwen.com/subject/bcljqqtx.html