MongoDB - 连接在本教程我们将讨论 MongoDB 的不同连接方式。启动 MongoDB 服务在前面的教程中,我们已经讨论了如何启动 MongoDB 服务,你只需要在 MongoDB 安装目录的 bin 目录下执行 mongodb 即可。执行启动操作后,mongodb 在输出一些必要信息后不会输出任何信息,之后就等待连接的建立,当连接被建立后,就会开始打印日志信息。你可以使用 MongoDB shell 来连接 MongoDB 服务器。你也可以使用 PHP 来连接 MongoDB。本教程我们会使用 MongoDB shell 来连接 Mongodb 服务,之后的章节我们将会介绍如何通过 PHP、Python 以及 Node.js 来连接 MongoDB 服务。标准 URI 连接语法:
mongodb://[username:password@]host1[:port1][,…hostN[:portN]][/[defaultauthdb][?options]]mongodb://:协议头,表示使用 MongoDB。[usernam ...
MongoDB $type 操作符在 MongoDB 中,$type 操作符用于查询具有指定类型的字段的文档。
MongoDB 的 $type 操作符用于查询字段的 BSON 数据类型。它允许您指定一个或多个类型,并返回匹配这些类型的文档。以下是 $type 操作符的详细介绍和示例。语法:db.collection.find({ field: { $type: } })field:要检查类型的字段。type:指定的 BSON 类型,可以是类型的数字代码或类型名称的字符串。BSON 类型以下是常见的 BSON 类型及其对应的数字代码和字符串名称:
类型代码类型名称1double2string3object4array5binData6undefined7objectId8bool9date10null11regex12dbPointer13javascript14symbol15javascriptWithScope16int17timestamp18long19decimal255minKey127maxKey实例
查找字段类型为字符串的文档:db.myCollection.find ...
Mac OSX 平台安装 MongoDB
MongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包。下载地址:https://www.mongodb.com/try/download/community
从 MongoDB 3.0 版本开始只支持 OS X 10.7 (Lion) 版本及更新版本的系统。
接下来我们使用 curl 命令来下载安装:
进入 /usr/localcd /usr/local
下载sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz
解压sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz
重命名为 mongodb 目录sudo mv mongodb-osx-x86_64-4.0.9/ mongodb
安装完成后,我们可以把 MongoDB 的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中:
export PATH= ...
Linux平台安装MongoDBMongoDB 提供了 linux 各个发行版本 64 位的安装包,你可以在官网下载安装包。安装前我们需要安装各个 Linux 平台依赖包。Red Hat/CentOS:sudo yum install libcurl opensslUbuntu 18.04 LTS (“Bionic”)/Debian 10 “Buster”:sudo apt-get install libcurl4 opensslUbuntu 16.04 LTS (“Xenial”)/Debian 9 “Stretch”:sudo apt-get install libcurl3 opensslMongoDB 源码下载地址:https://www.mongodb.com/try/download/community
这里我们选择 tgz 下载,下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装) 。
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu160 ...
Sourcetree 使用教程
Git 有很多图形界面工具 ( GUI ),比如 SourceTree、Github Desktop、TortoiseGit 等。SourceTree 是一个 Git 客户端管理工具,适用于 Windows 和 Mac 系统。SourceTree 简化了开发者与代码仓库之间的 Git 操作方式,我们可以通过界面菜单很方便的处理 Git 操作,而不需要通过命令。通过 SourceTree,我们可以管理所有的 Git 库,无论是远程还是本地的。SourceTree 支持 Bitbucket、GitHub 以及 Gitlab 等远程仓库。
Sourcetree 安装我们可以在 Sourcetree 官网 https://www.sourcetreeapp.com/ 直接点击下载按钮来下载:
其他版本可以查看:https://www.sourcetreeapp.com/download-archives下载完成后,解压 ZIP 文件,双击应用程序文件(Windows 为 EXE 或 Mac 为 DMG)进行安装。安装过程中,我们只需要同意 Atlassian ...
Git 远程仓库(Github)Git 并不像 SVN 那样有个中心服务器。目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。
你就需要将数据放到一台其他开发人员能够连接的服务器上。本例使用了 Github 作为远程仓库,你可以先阅读我们的 Github 简明教程。
添加远程库要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下:
git remote add [shortname] [url]
本例以 Github 为例作为远程仓库,如果你没有 Github 可以在官网 https://github.com/注册。
由于你的本地 Git 仓库和 GitHub 仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息:使用以下命令生成 SSH Key:$ ssh-keygen -t rsa -C “youremail@example. ...
Git 进阶操作在掌握了 Git 的基础操作之后,进阶操作可以帮助你更高效地管理和优化你的代码库。以下是一些常见的进阶操作及其详细说明:
交互式暂存:逐块选择要暂存的更改,精细控制提交内容。Git Stash:临时保存工作进度,方便切换任务。Git Rebase:将一个分支上的更改移到另一个分支之上,保持提交历史线性。Git Cherry-Pick:选择特定提交并应用到当前分支。
1、交互式暂存(Interactive Staging)git add 命令可以选择性地将文件或文件的一部分添加到暂存区,这在处理复杂更改时非常有用。
使用 git add -p:逐块选择要暂存的更改。
git add -p执行此命令后,Git 会逐块显示文件的更改,你可以选择是否暂存每个块。常用选项包括:
y:暂存当前块n:跳过当前块s:拆分当前块e:手动编辑当前块q:退出暂存
2、Git Stash:临时保存工作进度git stash 命令允许你临时保存当前工作目录的更改,以便你可以切换到其他分支或处理其他任务。保存当前工作进度:git stash查看存储的进度:git stash list
应用最近一次 ...
Git 标签如果你达到一个重要的阶段,并希望永远记住提交的快照,你可以使用 git tag 给它打上标签。Git 标签(Tag)用于给仓库中的特定提交点加上标记,通常用于发布版本(如 v1.0, v2.0)。比如说,我们想为我们的 runoob 项目发布一个 “1.0” 版本,我们可以用 git tag -a v1.0 命令给最新一次提交打上(HEAD) “v1.0” 的标签。-a 选项意为”创建一个带注解的标签”,不用 -a 选项也可以执行的,但它不会记录这标签是啥时候打的,谁打的,也不会让你添加个标签的注解,我们推荐一直创建带注解的标签。标签语法格式:git tag 例如:git tag v1.0-a 选项可以添加注解:
$ git tag -a v1.0
当你执行 git tag -a 命令时,Git 会打开你的编辑器,让你写一句标签注解,就像你给提交写注解一样。
现在,注意当我们执行 git log –decorate 时,我们可以看到我们的标签了:
d5e9fc2 (HEAD -> master) Merge branch ‘change_site’|\| * 77 ...
Git 教程
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
Git 与 SVN 区别Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。Git 与 SVN 区别点:
1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是 ...
Git 工作流程本章节我们将为大家介绍 Git 的工作流程。下图展示了 Git 的工作流程:
1、克隆仓库如果你要参与一个已有的项目,首先需要将远程仓库克隆到本地:
git clone https://github.com/username/repo.gitcd repo2、创建新分支为了避免直接在 main 或 master 分支上进行开发,通常会创建一个新的分支:
git checkout -b new-feature3、工作目录在工作目录中进行代码编辑、添加新文件或删除不需要的文件。4、暂存文件将修改过的文件添加到暂存区,以便进行下一步的提交操作:
git add filename
或者添加所有修改的文件git add .5、提交更改将暂存区的更改提交到本地仓库,并添加提交信息:
git commit -m “Add new feature”6、拉取最新更改在推送本地更改之前,最好从远程仓库拉取最新的更改,以避免冲突:
git pull origin main
或者如果在新的分支上工作git pull origin new-feature7、推送更改将本地的提交推送到远程仓库:
...