本文整理匯總了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{}
}
示例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
}
示例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
}
示例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
}
示例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}, ¬eTag)
// 存在, 則更新之
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
}
示例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
}
示例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
}
示例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
}
示例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{}
}