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


Golang db.Has函數代碼示例

本文整理匯總了Golang中github.com/leanote/leanote/app/db.Has函數的典型用法代碼示例。如果您正苦於以下問題:Golang Has函數的具體用法?Golang Has怎麽用?Golang Has使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了Has函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: HasUpdatePerm

// updatedUserId是否有修改userId noteId的權限?
func (this *ShareService) HasUpdatePerm(userId, updatedUserId, noteId string) bool {
	// 1. noteId是否被共享了?
	// 得到該note share的信息
	/*
		UserId                 bson.ObjectId `bson:"UserId"`
		ToUserId               bson.ObjectId `bson:"ToUserId"`
		NoteId                 bson.ObjectId `bson:"NoteId"`
		Perm                   int           `bson:"Perm"` // 權限, 0隻讀, 1可修改
	*/
	if !db.Has(db.ShareNotes,
		bson.M{"UserId": bson.ObjectIdHex(userId), "ToUserId": bson.ObjectIdHex(updatedUserId), "NoteId": bson.ObjectIdHex(noteId), "Perm": 1}) {
		// noteId的notebookId是否被共享了?
		notebookId := noteService.GetNotebookId(noteId)
		if notebookId.Hex() == "" {
			return false
		}

		// 判斷notebook是否被共享
		if !db.Has(db.ShareNotebooks,
			bson.M{"UserId": bson.ObjectIdHex(userId), "ToUserId": bson.ObjectIdHex(updatedUserId), "NotebookId": notebookId, "Perm": 1}) {
			return false
		} else {
			return true
		}
	} else {
		return true
	}
}
開發者ID:bigxing,項目名稱:leanote,代碼行數:29,代碼來源:ShareService.go

示例2: IsMyFile

// 是否是我的文件
func (this *FileService) IsMyFile(userId, fileId string) bool {
	// 如果有問題會panic
	if !bson.IsObjectIdHex(fileId) || !bson.IsObjectIdHex(userId) {
		return false
	}
	return db.Has(db.Files, bson.M{"UserId": bson.ObjectIdHex(userId), "_id": bson.ObjectIdHex(fileId)})
}
開發者ID:ClaudeXin,項目名稱:leanote,代碼行數:8,代碼來源:FileService.go

示例3: IsExistsGroupUser

// 判斷組中是否包含指定用戶
func (this *GroupService) IsExistsGroupUser(userId, groupId string) (ok bool) {
	// 如果我擁有這個組, 那也行
	if this.isMyGroup(userId, groupId) {
		return true
	}
	return db.Has(db.GroupUsers, bson.M{"UserId": bson.ObjectIdHex(userId), "GroupId": bson.ObjectIdHex(groupId)})
}
開發者ID:ClaudeXin,項目名稱:leanote,代碼行數:8,代碼來源:GroupService.go

示例4: LikeBlog

// 點讚
// retun ok , isLike
func (this *BlogService) LikeBlog(noteId, userId string) (ok bool, isLike bool) {
	ok = false
	isLike = false
	if noteId == "" || userId == "" {
		return
	}
	// 判斷是否點過讚, 如果點過那麽取消點讚
	note := noteService.GetNoteById(noteId)
	if !note.IsBlog /*|| note.UserId.Hex() == userId */ {
		return
	}

	noteIdO := bson.ObjectIdHex(noteId)
	userIdO := bson.ObjectIdHex(userId)
	var n int
	if !db.Has(db.BlogLikes, bson.M{"NoteId": noteIdO, "UserId": userIdO}) {
		n = 1
		// 添加之
		db.Insert(db.BlogLikes, info.BlogLike{LikeId: bson.NewObjectId(), NoteId: noteIdO, UserId: userIdO, CreatedTime: time.Now()})
		isLike = true
	} else {
		// 已點過, 那麽刪除之
		n = -1
		db.Delete(db.BlogLikes, bson.M{"NoteId": noteIdO, "UserId": userIdO})
		isLike = false
	}
	ok = db.Update(db.Notes, bson.M{"_id": noteIdO}, bson.M{"$inc": bson.M{"LikeNum": n}})

	return
}
開發者ID:ZypcGroup,項目名稱:leanote,代碼行數:32,代碼來源:BlogService.go

示例5: getUniqueUrlTitle

func getUniqueUrlTitle(userId string, urlTitle string, types string, padding int) string {
	urlTitle2 := urlTitle

	// 判斷urlTitle是不是過長, 過長則截斷, 300
	// 不然生成index有問題
	// it will not index a single field with more than 1024 bytes.
	// If you're indexing a field that is 2.5MB, it's not really indexing it, it's being skipped.
	if len(urlTitle2) > 320 {
		urlTitle2 = urlTitle2[:300] // 為什麽要少些, 因為怕無限循環, 因為把padding截了
	}

	if padding > 1 {
		urlTitle2 = urlTitle + "-" + strconv.Itoa(padding)
	}
	userIdO := bson.ObjectIdHex(userId)

	var collection *mgo.Collection
	if types == "note" {
		collection = db.Notes
	} else if types == "notebook" {
		collection = db.Notebooks
	} else if types == "single" {
		collection = db.BlogSingles
	}
	for db.Has(collection, bson.M{"UserId": userIdO, "UrlTitle": urlTitle2}) { // 用戶下唯一
		padding++
		urlTitle2 = urlTitle + "-" + strconv.Itoa(padding)
	}

	return urlTitle2
}
開發者ID:nevernet,項目名稱:leanote,代碼行數:31,代碼來源:init.go

示例6: HasUpdateNotebookPerm

// updatedUserId是否有修改userId notebookId的權限?
func (this *ShareService) HasUpdateNotebookPerm(userId, updatedUserId, notebookId string) bool {
	// 判斷notebook是否被共享
	if !db.Has(db.ShareNotebooks,
		bson.M{"UserId": bson.ObjectIdHex(userId), "ToUserId": bson.ObjectIdHex(updatedUserId), "NotebookId": bson.ObjectIdHex(notebookId), "Perm": 1}) {
		return false
	} else {
		return true
	}
}
開發者ID:bigxing,項目名稱:leanote,代碼行數:10,代碼來源:ShareService.go

示例7: IsILikeIt

func (this *BlogService) IsILikeIt(noteId, userId string) bool {
	if userId == "" {
		return false
	}
	if db.Has(db.BlogLikes, bson.M{"NoteId": bson.ObjectIdHex(noteId), "UserId": bson.ObjectIdHex(userId)}) {
		return true
	}
	return false
}
開發者ID:ZypcGroup,項目名稱:leanote,代碼行數:9,代碼來源:BlogService.go

示例8: HasSharedNotebook

// noteId的notebook是否共享了給我
func (this *ShareService) HasSharedNotebook(noteId, myUserId, sharedUserId string) bool {
	notebookId := noteService.GetNotebookId(noteId)
	if notebookId != "" {
		return db.Has(db.ShareNotebooks, bson.M{"NotebookId": notebookId,
			"UserId":   bson.ObjectIdHex(sharedUserId),
			"ToUserId": bson.ObjectIdHex(myUserId),
		})
	}
	return false
}
開發者ID:sunyinhuiCoding,項目名稱:leanote,代碼行數:11,代碼來源:ShareService.go

示例9: ActiveTheme

// 使用主題
func (this *ThemeService) ActiveTheme(userId, themeId string) (ok bool) {
	if db.Has(db.Themes, bson.M{"_id": bson.ObjectIdHex(themeId), "UserId": bson.ObjectIdHex(userId)}) {
		// 之前的設為false
		db.UpdateByQField(db.Themes, bson.M{"UserId": bson.ObjectIdHex(userId), "IsActive": true}, "IsActive", false)
		// 現在的設為true
		db.UpdateByQField(db.Themes, bson.M{"_id": bson.ObjectIdHex(themeId)}, "IsActive", true)

		// UserBlog ThemeId
		db.UpdateByQField(db.UserBlogs, bson.M{"_id": bson.ObjectIdHex(userId)}, "ThemeId", bson.ObjectIdHex(themeId))
		return true
	}
	return false
}
開發者ID:ClaudeXin,項目名稱:leanote,代碼行數:14,代碼來源:ThemeService.go

示例10: HasReadPerm

// updatedUserId是否有查看userId noteId的權限?
// userId是所有者
func (this *ShareService) HasReadPerm(userId, updatedUserId, noteId string) bool {
	q := this.getOrQ(updatedUserId) // (toUserId == "xxx" || ToGroupId in (1, 2,3))
	q["UserId"] = bson.ObjectIdHex(userId)
	q["NoteId"] = bson.ObjectIdHex(noteId)
	if !db.Has(db.ShareNotes, q) {
		// noteId的notebookId是否被共享了?
		notebookId := noteService.GetNotebookId(noteId)
		if notebookId.Hex() == "" {
			return false
		}

		delete(q, "NoteId")
		q["NotebookId"] = notebookId

		// 判斷notebook是否被共享
		if !db.Has(db.ShareNotebooks, q) {
			return false
		} else {
			return true
		}
	} else {
		return true
	}
}
開發者ID:sunyinhuiCoding,項目名稱:leanote,代碼行數:26,代碼來源:ShareService.go

示例11: UpdateUsername

// 更新username
func (this *UserService) UpdateUsername(userId, username string) (bool, string) {
	if userId == "" || username == "" || username == "admin" { // admin用戶是內置的, 不能設置
		return false, "usernameIsExisted"
	}
	usernameRaw := username // 原先的, 可能是同一個, 但有大小寫
	username = strings.ToLower(username)

	// 先判斷是否存在
	userIdO := bson.ObjectIdHex(userId)
	if db.Has(db.Users, bson.M{"Username": username, "_id": bson.M{"$ne": userIdO}}) {
		return false, "usernameIsExisted"
	}

	ok := db.UpdateByQMap(db.Users, bson.M{"_id": userIdO}, bson.M{"Username": username, "UsernameRaw": usernameRaw})
	return ok, ""
}
開發者ID:rainkong,項目名稱:leanote,代碼行數:17,代碼來源:UserService.go

示例12: AddUser

// 為group添加用戶
// 用戶是否已存在?
func (this *GroupService) AddUser(ownUserId, groupId, userId string) (ok bool, msg string) {
	// groupId是否是ownUserId的?
	if !this.isMyGroup(ownUserId, groupId) {
		return false, "forbidden"
	}

	// 是否已存在
	if db.Has(db.GroupUsers, bson.M{"GroupId": bson.ObjectIdHex(groupId), "UserId": bson.ObjectIdHex(userId)}) {
		return false, "hasUsers"
	}

	return db.Insert(db.GroupUsers, info.GroupUser{
		GroupUserId: bson.NewObjectId(),
		GroupId:     bson.ObjectIdHex(groupId),
		UserId:      bson.ObjectIdHex(userId),
		CreatedTime: time.Now(),
	}), ""
}
開發者ID:sunyinhuiCoding,項目名稱:leanote,代碼行數:20,代碼來源:GroupService.go

示例13: getUniqueUrlTitle

func getUniqueUrlTitle(userId string, urlTitle string, types string, padding int) string {
	urlTitle2 := urlTitle
	if padding > 1 {
		urlTitle2 = urlTitle + "-" + strconv.Itoa(padding)
	}
	userIdO := bson.ObjectIdHex(userId)

	var collection *mgo.Collection
	if types == "note" {
		collection = db.Notes
	} else if types == "notebook" {
		collection = db.Notebooks
	} else if types == "single" {
		collection = db.BlogSingles
	}
	for db.Has(collection, bson.M{"UserId": userIdO, "UrlTitle": urlTitle2}) { // 用戶下唯一
		padding++
		urlTitle2 = urlTitle + "-" + strconv.Itoa(padding)
	}

	return urlTitle2
}
開發者ID:intZz,項目名稱:leanote,代碼行數:22,代碼來源:init.go

示例14: IsMyNotebook

// 判斷是否是我的notebook
func (this *NotebookService) IsMyNotebook(notebookId, userId string) bool {
	return db.Has(db.Notebooks, bson.M{"_id": bson.ObjectIdHex(notebookId), "UserId": bson.ObjectIdHex(userId)})
}
開發者ID:sunyinhuiCoding,項目名稱:leanote,代碼行數:4,代碼來源:NotebookService.go

示例15: HasSharedNote

// userId是否被共享了noteId
func (this *ShareService) HasSharedNote(noteId, myUserId string) bool {
	return db.Has(db.ShareNotes, bson.M{"ToUserId": bson.ObjectIdHex(myUserId), "NoteId": bson.ObjectIdHex(noteId)})
}
開發者ID:sunyinhuiCoding,項目名稱:leanote,代碼行數:4,代碼來源:ShareService.go


注:本文中的github.com/leanote/leanote/app/db.Has函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。