• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Golang db.UpdateByIdAndUserId函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/leanote/leanote/app/db.UpdateByIdAndUserId函数的典型用法代码示例。如果您正苦于以下问题:Golang UpdateByIdAndUserId函数的具体用法?Golang UpdateByIdAndUserId怎么用?Golang UpdateByIdAndUserId使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了UpdateByIdAndUserId函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: MoveNote

// 移动note
// trash, 正常的都可以用
// 1. 要检查下notebookId是否是自己的
// 2. 要判断之前是否是blog, 如果不是, 那么notebook是否是blog?
func (this *NoteService) MoveNote(noteId, notebookId, userId string) info.Note {
	if notebookService.IsMyNotebook(notebookId, userId) {
		note := this.GetNote(noteId, userId)
		preNotebookId := note.NotebookId.Hex()

		re := db.UpdateByIdAndUserId(db.Notes, noteId, userId,
			bson.M{"$set": bson.M{"IsTrash": false,
				"NotebookId": bson.ObjectIdHex(notebookId),
				"Usn":        userService.IncrUsn(userId),
			}})

		if re {
			// 更新blog状态
			this.updateToNotebookBlog(noteId, notebookId, userId)

			// recount notebooks' notes number
			notebookService.ReCountNotebookNumberNotes(notebookId)
			// 之前不是trash才统计, trash本不在统计中的
			if !note.IsTrash && preNotebookId != notebookId {
				notebookService.ReCountNotebookNumberNotes(preNotebookId)
			}
		}

		return this.GetNote(noteId, userId)
	}
	return info.Note{}
}
开发者ID:ClaudeXin,项目名称:leanote,代码行数:31,代码来源:NoteService.go


示例2: recoverNote

// recover
func (this *TrashService) recoverNote(noteId, notebookId, userId string) bool {
	re := db.UpdateByIdAndUserId(db.Notes, noteId, userId,
		bson.M{"$set": bson.M{"IsTrash": false,
			"Usn":        userService.IncrUsn(userId),
			"NotebookId": bson.ObjectIdHex(notebookId)}})
	return re
}
开发者ID:ClaudeXin,项目名称:leanote,代码行数:8,代码来源:TrashService.go


示例3: AddHistory

// 新建一个note, 不需要添加历史记录
// 添加历史
func (this *NoteContentHistoryService) AddHistory(noteId, userId string, eachHistory info.EachHistory) {
	// 检查是否是空
	if eachHistory.Content == "" {
		return
	}

	// 先查是否存在历史记录, 没有则添加之
	history := info.NoteContentHistory{}
	db.GetByIdAndUserId(db.NoteContentHistories, noteId, userId, &history)
	if history.NoteId == "" {
		this.newHistory(noteId, userId, eachHistory)
	} else {
		// 判断是否超出 maxSize, 如果超出则pop最后一个, 再push之, 不用那么麻烦, 直接update吧, 虽然影响性能
		// TODO
		l := len(history.Histories)
		if l >= maxSize {
			// history.Histories = history.Histories[l-maxSize:] // BUG, 致使都是以前的
			history.Histories = history.Histories[:maxSize]
		}
		newHistory := []info.EachHistory{eachHistory}
		newHistory = append(newHistory, history.Histories...) // 在开头加了, 最近的在最前
		history.Histories = newHistory

		// 更新之
		db.UpdateByIdAndUserId(db.NoteContentHistories, noteId, userId, history)
	}
	return
}
开发者ID:ClaudeXin,项目名称:leanote,代码行数:30,代码来源:NoteContentHistoryService.go


示例4: DeleteSharedNote

// 删除别人共享给我的笔记
// 先判断我是否有权限, 笔记是否是我创建的
func (this *TrashService) DeleteSharedNote(noteId, userId, myUserId string) bool {
	note := noteService.GetNote(noteId, userId)
	if shareService.HasUpdatePerm(userId, myUserId, noteId) && note.CreatedUserId.Hex() == myUserId {
		return db.UpdateByIdAndUserId(db.Notes, noteId, userId, bson.M{"$set": bson.M{"IsTrash": true}})
	}
	return false
}
开发者ID:hello-kukoo,项目名称:leanote,代码行数:9,代码来源:TrashService.go


示例5: AddOrUpdateTag

// 添加或更新标签, 先查下是否存在, 不存在则添加, 存在则更新
// 都要统计下tag的note数
// 什么时候调用? 笔记添加Tag, 删除Tag时
// 删除note时, 都可以调用
// 万能
func (this *TagService) AddOrUpdateTag(userId string, tag string) info.NoteTag {
	userIdO := bson.ObjectIdHex(userId)
	noteTag := info.NoteTag{}
	db.GetByQ(db.NoteTags, bson.M{"UserId": userIdO, "Tag": tag}, &noteTag)

	// 存在, 则更新之
	if noteTag.TagId != "" {
		// 统计note数
		count := noteService.CountNoteByTag(userId, tag)
		noteTag.Count = count
		noteTag.UpdatedTime = time.Now()
		//		noteTag.Usn = userService.IncrUsn(userId), 更新count而已
		db.UpdateByIdAndUserId(db.NoteTags, noteTag.TagId.Hex(), userId, noteTag)
		return noteTag
	}

	// 不存在, 则创建之
	noteTag.TagId = bson.NewObjectId()
	noteTag.Count = 1
	noteTag.Tag = tag
	noteTag.UserId = bson.ObjectIdHex(userId)
	noteTag.CreatedTime = time.Now()
	noteTag.UpdatedTime = noteTag.CreatedTime
	noteTag.Usn = userService.IncrUsn(userId)
	noteTag.IsDeleted = false
	db.Insert(db.NoteTags, noteTag)

	return noteTag
}
开发者ID:ClaudeXin,项目名称:leanote,代码行数:34,代码来源:TagService.go


示例6: DeleteNote

// 删除note
// 应该放在回收站里
// 有trashService
func (this *TrashService) DeleteNote(noteId, userId string) bool {
	// 首先删除其共享
	if shareService.DeleteShareNoteAll(noteId, userId) {
		// 更新note isTrash = true
		return db.UpdateByIdAndUserId(db.Notes, noteId, userId, bson.M{"$set": bson.M{"IsTrash": true}})
	}
	return false
}
开发者ID:hello-kukoo,项目名称:leanote,代码行数:11,代码来源:TrashService.go


示例7: updateToNotebookBlog

// 如果自己的blog状态是true, 不用改变,
// 否则, 如果notebookId的blog是true, 则改为true之
// 返回blog状态
func (this *NoteService) updateToNotebookBlog(noteId, notebookId, userId string) bool {
	if this.IsBlog(noteId) {
		return true
	}
	if notebookService.IsBlog(notebookId) {
		db.UpdateByIdAndUserId(db.Notes, noteId, userId,
			bson.M{"$set": bson.M{"IsBlog": true}})
		return true
	}
	return false
}
开发者ID:jianping11,项目名称:leanote,代码行数:14,代码来源:NoteService.go


示例8: DeleteNote

// 删除note
// 应该放在回收站里
// 有trashService
func (this *TrashService) DeleteNote(noteId, userId string) bool {
	// 首先删除其共享
	if shareService.DeleteShareNoteAll(noteId, userId) {
		// 更新note isTrash = true
		if db.UpdateByIdAndUserId(db.Notes, noteId, userId, bson.M{"$set": bson.M{"IsTrash": true}}) {
			// recount notebooks' notes number
			notebookIdO := noteService.GetNotebookId(noteId)
			notebookId := notebookIdO.Hex()
			notebookService.ReCountNotebookNumberNotes(notebookId)
			return true
		}
	}
	return false
}
开发者ID:sunyinhuiCoding,项目名称:leanote,代码行数:17,代码来源:TrashService.go


示例9: MoveNote

// 移动note
// trash, 正常的都可以用
// 1. 要检查下notebookId是否是自己的
// 2. 要判断之前是否是blog, 如果不是, 那么notebook是否是blog?
func (this *NoteService) MoveNote(noteId, notebookId, userId string) info.Note {
	if notebookService.IsMyNotebook(notebookId, userId) {
		re := db.UpdateByIdAndUserId(db.Notes, noteId, userId,
			bson.M{"$set": bson.M{"IsTrash": false,
				"NotebookId": bson.ObjectIdHex(notebookId)}})

		if re {
			// 更新blog状态
			this.updateToNotebookBlog(noteId, notebookId, userId)
		}

		return this.GetNote(noteId, userId)
	}
	return info.Note{}
}
开发者ID:jianping11,项目名称:leanote,代码行数:19,代码来源:NoteService.go



注:本文中的github.com/leanote/leanote/app/db.UpdateByIdAndUserId函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang db.UpdateByIdAndUserIdField函数代码示例发布时间:2022-05-23
下一篇:
Golang db.ListByQWithFields函数代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap