當前位置: 首頁>>代碼示例>>Golang>>正文


Golang db.UpdateByIdAndUserId函數代碼示例

本文整理匯總了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;未經允許,請勿轉載。