本文整理汇总了Golang中github.com/couchbase/gocb/gocbcore.SubDocOp类的典型用法代码示例。如果您正苦于以下问题:Golang SubDocOp类的具体用法?Golang SubDocOp怎么用?Golang SubDocOp使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SubDocOp类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Counter
// Adds an counter operation to this mutation operation set.
func (set *MutateInBuilder) Counter(path string, delta int64, createParents bool) *MutateInBuilder {
op := gocbcore.SubDocOp{
Op: gocbcore.SubDocOpCounter,
Path: path,
}
op.Value, _ = json.Marshal(delta)
if createParents {
op.Flags |= gocbcore.SubDocFlagMkDirP
}
set.ops = append(set.ops, op)
return set
}
示例2: ArrayAddUnique
// Adds an dictionary add unique operation to this mutation operation set.
func (set *MutateInBuilder) ArrayAddUnique(path string, value interface{}, createParents bool) *MutateInBuilder {
op := gocbcore.SubDocOp{
Op: gocbcore.SubDocOpArrayAddUnique,
Path: path,
}
op.Value, _ = json.Marshal(value)
if createParents {
op.Flags |= gocbcore.SubDocFlagMkDirP
}
set.ops = append(set.ops, op)
return set
}
示例3: ArrayInsert
// Inserts an element at a given position within an array. The position should be
// specified as part of the path, e.g. path.to.array[3]
func (set *MutateInBuilder) ArrayInsert(path string, value interface{}) *MutateInBuilder {
op := gocbcore.SubDocOp{
Op: gocbcore.SubDocOpArrayInsert,
Path: path,
}
if multiVal, isMulti := value.(subDocMultiValue); isMulti {
op.Value = multiVal
} else {
op.Value, _ = json.Marshal(value)
}
set.ops = append(set.ops, op)
return set
}
示例4: ArrayAppend
// Adds an element to the end (i.e. right) of an array
func (set *MutateInBuilder) ArrayAppend(path string, value interface{}, createParents bool) *MutateInBuilder {
op := gocbcore.SubDocOp{
Op: gocbcore.SubDocOpArrayPushLast,
Path: path,
}
if multiVal, isMulti := value.(subDocMultiValue); isMulti {
op.Value = multiVal
} else {
op.Value, _ = json.Marshal(value)
}
if createParents {
op.Flags |= gocbcore.SubDocFlagMkDirP
}
set.ops = append(set.ops, op)
return set
}