MongoDB安装部署

2023-11-10

一、mongodb安装部署

  1. 关闭防火墙和selinux

[root@mongodb ~]# iptables -F

[root@mongodb ~]# setenforce 0

[root@mongodb ~]# systemctl stop firewalld

 2.指定一个进程同一时间最多可开启的文件数

[root@mongodb ~]# ulimit -n

1024

[root@mongodb ~]# ulimit -n 65535

[root@mongodb ~]# ulimit -n

65535

3.用户最多可开启的进程数目

[root@mongodb ~]# ulimit -u

7758

[root@mongodb ~]# ulimit -u 65535

[root@mongodb ~]# ulimit -u

65535

[root@mongodb ~]#cat  /etc/rc.local

ulimit –SHn 102400

4.安装版本下载地址:

[root@mongodb ~]#

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.6.tgz

[root@mongodb ~]# tar xf mongodb-linux-x86_64-rhel70-4.0.6.tgz

[root@mongodb ~]# mv mongodb-linux-x86_64-rhel70-4.0.6 /usr/local/mongodb

[root@mongodb ~]# ln -s /usr/local/mongodb/bin/* /bin/

5.创建数据目录,日志文件及目录并创建相应配置文件

[root@mongodb ~]# mkdir -p /data/mongodb1 //数据目录

[root@mongodb ~]# mkdir -p /data/logs/mongodb //日志目录

[root@mongodb ~]# touch /data/logs/mongodb/mongodb1.log //日志文件

[root@mongodb ~]# cd /usr/local/mongodb/

[root@mongodb mongodb]# mkdir conf //配置文件目录

[root@mongodb mongodb]# vim conf/mongodb1.conf //配置文件

port=27017 //监听端口

dbpath=/data/mongodb1 //指定数据目录

logpath=/data/logs/mongodb/mongodb1.log //指定日志文件路径

logappend=true //允许写入日志

fork=true //允许创建子进程

maxConns=5000 //最大连接数

storageEngine=mmapv1 //存储引擎

6.启动MongoDB数据库,-f指定配置文件

[root@mongodb mongodb]#

/usr/local/mongodb/bin/mongod -f  /usr/local/mongodb/conf/mongodb1.conf

about to fork child process, waiting until server is ready for connections.

forked process: 1825

child process started successfully, parent exiting

[root@mongodb ~]# netstat -lnpt | grep mongod

tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN

1874/mongod

[root@mongodb ~]# ps aux | grep mongod | grep -v grep

root       1874  4.7  9.3 1502244 93728 ?       Sl   11:55   0:02

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf

 

7、设置开机自动启动

[root@mongodb mongodb]# vim /etc/rc.local

rm -f /data/mongodb1/mongod.lock

mongod -f /usr/local/mongodb/conf/mongodb1.conf

  1. 连接数据库

[root@mongodb ~]# mongo

 

> show dbs

admin   0.078GB

config  0.078GB

local   0.078GB

> exit

bye

关闭MongoDB的方式:

方法一:

[root@mongodb ~]# mongo

> use admin

switched to db admin

> db.shutdownServer(); //关闭服务

> exit

bye

[root@mongodb ~]# netstat -anpt |grep mongod

方法二:

[root@mongodb ~]#

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf

about to fork child process, waiting until server is ready for connections.

forked process: 2123

child process started successfully, parent exiting

[root@mongodb ~]# netstat -lnpt | grep mongod

tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN

2123/mongod

[root@mongodb ~]#

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf --shutdown

killing process with pid: 2123

[root@mongodb ~]# netstat -lnpt | grep mongod

方法三:

[root@mongodb ~]# /usr/local/mongodb/bin/mongod -f

/usr/local/mongodb/conf/mongodb1.conf

about to fork child process, waiting until server is ready for connections.

forked process: 2159

child process started successfully, parent exiting

[root@mongodb ~]# ps aux | grep mongod

root       2159  1.5  8.6 1500184 86340 ?       Sl   12:14   0:00

/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf

root       2179  0.0  0.0 112720   984 pts/0    R+   12:14   0:00 grep --color=auto

mongod

[root@mongodb ~]# kill -9 2159 //杀死进程号

[root@mongodb ~]# netstat -lnpt | grep mongod

Mongodb多实例配置:

[root@mongodb ~]# cd /usr/local/mongodb/conf/

[root@mongodb conf]# cp mongodb{1,2}.conf

[root@mongodb conf]# vim mongodb2.conf

 

port=27018             #每个端口号不能相同不然启不来服务

dbpath=/data/mongodb2    #这里要修改

logpath=/data/logs/mongodb/mongodb2.log #这里也要根据情况修改

logappend=true

fork=true

maxConns=5000

storageEngine=mmapv1

 

[root@mongodb conf]# mkdir /data/mongodb2

[root@mongodb conf]# touch /data/logs/mongodb/mongodb2.log

[root@mongodb ~]# /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb2.conf

about to fork child process, waiting until server is ready for connections.

forked process: 63890

child process started successfully, parent exiting

[root@mongodb ~]# netstat -lnpt | grep mongod

 

cp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN

2159/mongod

tcp        0      0 127.0.0.1:27018         0.0.0.0:*               LISTEN

63890/mongod

编写启停脚本

[root@mongodb ~]# vim /etc/init.d/mongodb


#!/bin/bash
INSTANCE=$1
ACTION=$2
case "$ACTION" in
'start')
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf;;
'stop')
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf --shutdown;;
'restart')
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf --shutdown
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf;;
esac

[root@mongodb ~]# chmod +x /etc/init.d/mongodb  #赋权

[root@mongodb ~]# /etc/init.d/mongodb mongodb1 stop

killing process with pid: 2159

[root@mongodb ~]# /etc/init.d/mongodb mongodb2 stop

killing process with pid: 63890

[root@mongodb ~]# /etc/init.d/mongodb mongodb1 start

[root@mongodb ~]# /etc/init.d/mongodb mongodb2 start

[root@mongodb ~]# netstat -lnpt | grep mongod

tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN

64008/mongod

tcp        0      0 127.0.0.1:27018         0.0.0.0:*               LISTEN

64030/mongod

构建MongoDB复制集集群

删除之前的实例

[root@mongodb ~]# /etc/init.d/mongodb mongodb1 stop

[root@mongodb ~]# /etc/init.d/mongodb mongodb2 stop (将之前所有mongodb服务都关掉,再进行下列操作,不然容易造成主宕机后不会切换从)

[root@mongodb ~]# rm -rf /data/

配置4个MongoDB实例

[root@mongodb ~]# vim /usr/local/mongodb/conf/mongodb1.conf

port=27017

dbpath=/data/mongodb1

logpath=/data/logs/mongodb/mongodb1.log

logappend=true

fork=true

maxConns=5000

storageEngine=mmapv1

slowms=1

profile=1

replSet=crushlinux  (集群名字) //名字随意取

[root@mongodb ~]# vim /usr/local/mongodb/conf/mongodb2.conf

port=27018

dbpath=/data/mongodb2

logpath=/data/logs/mongodb/mongodb2.log

logappend=true

fork=true

maxConns=5000

storageEngine=mmapv1

slowms=1

profile=1

replSet=crushlinux

[root@mongodb ~]# vim /usr/local/mongodb/conf/mongodb3.conf

port=27019

dbpath=/data/mongodb3

logpath=/data/logs/mongodb/mongodb3.log

logappend=true

maxConns=5000

storageEngine=mmapv1

slowms=1

profile=1

replSet=crushlinux

[root@mongodb ~]# vim /usr/local/mongodb/conf/mongodb4.conf

port=27020

dbpath=/data/mongodb4

logpath=/data/logs/mongodb/mongodb4.log

logappend=true

fork=true

maxConns=5000

storageEngine=mmapv1

slowms=1

profile=1

replSet=crushlinux

[root@mongodb ~]# mkdir /data/mongodb{1..4} -p

[root@mongodb ~]# mkdir /data/logs/mongodb -p

[root@mongodb ~]# touch /data/logs/mongodb/mongodb{1..4}.log

[root@mongodb ~]# chmod 777 /data/logs/mongodb/mongodb*

[root@mongodb ~]# ll /data/logs/mongodb/mongodb*

-rwxrwxrwx 1 root root 0 1月   7 16:38 /data/logs/mongodb/mongodb1.log

-rwxrwxrwx 1 root root 0 1月   7 16:38 /data/logs/mongodb/mongodb2.log

-rwxrwxrwx 1 root root 0 1月   7 16:38 /data/logs/mongodb/mongodb3.log

-rwxrwxrwx 1 root root 0 1月   7 16:38 /data/logs/mongodb/mongodb4.log

[root@mongodb ~]# /etc/init.d/mongodb mongodb1 start

[root@mongodb ~]# /etc/init.d/mongodb mongodb2 start

[root@mongodb ~]# /etc/init.d/mongodb mongodb3 start

[root@mongodb ~]# /etc/init.d/mongodb mongodb4 start

[root@mongodb ~]# netstat -lnpt | grep mongod

tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      67461/mongod        

tcp        0      0 127.0.0.1:27018         0.0.0.0:*               LISTEN      67487/mongod        

tcp        0      0 127.0.0.1:27019         0.0.0.0:*               LISTEN      67513/mongod        

tcp        0      0 127.0.0.1:27020         0.0.0.0:*               LISTEN      67539/mongod

[root@mongodb ~]# mongo

crushlinux:PRIMARY> rs.help() //查看复制集帮助指令

> rs.status()

{

"operationTime" : Timestamp(0, 0),

"ok" : 0,

"errmsg" : "no replset config has been received",

"code" : 94,

"codeName" : "NotYetInitialized",

"$clusterTime" : {

"clusterTime" : Timestamp(0, 0),

"signature" : {

"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA

="), "keyId" : NumberLong(0)

}

}

}

> cfg={"_id":"crushlinux","members":[{"_id":0,"host":"127.0.0.1:27017"},{"_id":1,"host":"127.0.0.1:27018"},{"_id":2,"host":"127.0.0.1:27019"}]}

{

"_id" : "crushlinux",

"members" : [

{

"_id" : 0,

"host" : "127.0.0.1:27017"

},

{

"_id" : 1,

"host" : "127.0.0.1:27018"

},

{

"_id" : 2,

"host" : "127.0.0.1:27019"

}

]

}

> rs.initiate(cfg)

{

"ok" : 1,

"operationTime" : Timestamp(1578386438, 1),

"$clusterTime" : {

"clusterTime" : Timestamp(1578386438, 1),

"signature" : {

"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),

"keyId" : NumberLong(0)

}

}

}

crushlinux:PRIMARY> rs.status()

{

"set" : "crushlinux",

"date" : ISODate("2020-01-07T08:41:04.997Z"),

"myState" : 1,

"term" : NumberLong(1),

"syncingTo" : "",

"syncSourceHost" : "",

"syncSourceId" : -1,

"heartbeatIntervalMillis" : NumberLong(2000),

"optimes" : {

"lastCommittedOpTime" : {

"ts" : Timestamp(1578386452, 1),

"t" : NumberLong(1)

},

"readConcernMajorityOpTime" : {

"ts" : Timestamp(1578386452, 1),

"t" : NumberLong(1)

},

"appliedOpTime" : {

"ts" : Timestamp(1578386452, 1),

"t" : NumberLong(1)

},

"durableOpTime" : {

"ts" : Timestamp(1578386452, 1),

"t" : NumberLong(1)

}

},

"members" : [

{

"_id" : 0,

"name" : "127.0.0.1:27017",

"health" : 1, //1为健康,0为宕机

"state" : 1, //1为主,2为从

"stateStr" : "PRIMARY",

"uptime" : 125,

"optime" : {

"ts" : Timestamp(1578386452, 1),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2020-01-07T08:40:52Z"),

"syncingTo" : "",

"syncSourceHost" : "",

"syncSourceId" : -1,

"infoMessage" : "could not find member to sync from",

"electionTime" : Timestamp(1578386449, 1),

"electionDate" : ISODate("2020-01-07T08:40:49Z"),

"configVersion" : 1,

"self" : true,

"lastHeartbeatMessage" : ""

},

{

"_id" : 1,

"name" : "127.0.0.1:27018",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 26,

"optime" : {

"ts" : Timestamp(1578386452, 1),

"t" : NumberLong(1)

},

"optimeDurable" : {

"ts" : Timestamp(1578386452, 1),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2020-01-07T08:40:52Z"),

"optimeDurableDate" : ISODate("2020-01-07T08:40:52Z"),

"lastHeartbeat" : ISODate("2020-01-07T08:41:03.888Z"),

"lastHeartbeatRecv" : ISODate("2020-01-07T08:41:04.492Z"),

"pingMs" : NumberLong(0),

"lastHeartbeatMessage" : "",

"syncingTo" : "127.0.0.1:27017",

"syncSourceHost" : "127.0.0.1:27017",

"syncSourceId" : 0,

"infoMessage" : "",

"configVersion" : 1

},

{

"_id" : 2,

"name" : "127.0.0.1:27019",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 26,

"optime" : {

"ts" : Timestamp(1578386452, 1),

"t" : NumberLong(1)

},

"optimeDurable" : {

"ts" : Timestamp(1578386452, 1),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2020-01-07T08:40:52Z"),

"optimeDurableDate" : ISODate("2020-01-07T08:40:52Z"),

"lastHeartbeat" : ISODate("2020-01-07T08:41:03.888Z"),

"lastHeartbeatRecv" : ISODate("2020-01-07T08:41:04.441Z"),

"pingMs" : NumberLong(0),

"lastHeartbeatMessage" : "",

"syncingTo" : "127.0.0.1:27017",

"syncSourceHost" : "127.0.0.1:27017",

"syncSourceId" : 0,

"infoMessage" : "",

"configVersion" : 1

}

],

"ok" : 1,

"operationTime" : Timestamp(1578386452, 1),

"$clusterTime" : {

"clusterTime" : Timestamp(1578386452, 1),

"signature" : {

"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),

"keyId" : NumberLong(0)

}

}

}

crushlinux:PRIMARY> rs.add("127.0.0.1:27020") //增加一个节点

{

"ok" : 1,

"operationTime" : Timestamp(1578386643, 1),

"$clusterTime" : {

"clusterTime" : Timestamp(1578386643, 1),

"signature" : {

"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),

"keyId" : NumberLong(0)

}

}

}

crushlinux:PRIMARY> rs.status()

{

"set" : "crushlinux",

"date" : ISODate("2020-01-07T08:44:25.733Z"),

"myState" : 1,

"term" : NumberLong(1),

"syncingTo" : "",

"syncSourceHost" : "",

"syncSourceId" : -1,

"heartbeatIntervalMillis" : NumberLong(2000),

"optimes" : {

"lastCommittedOpTime" : {

"ts" : Timestamp(1578386661, 1),

"t" : NumberLong(1)

},

"readConcernMajorityOpTime" : {

"ts" : Timestamp(1578386661, 1),

"t" : NumberLong(1)

},

"appliedOpTime" : {

"ts" : Timestamp(1578386661, 1),

"t" : NumberLong(1)

},

"durableOpTime" : {

"ts" : Timestamp(1578386661, 1),

"t" : NumberLong(1)

}

},

"members" : [

{

"_id" : 0,

"name" : "127.0.0.1:27017",

"health" : 1,

"state" : 1,

"stateStr" : "PRIMARY",

"uptime" : 326,

"optime" : {

"ts" : Timestamp(1578386661, 1),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2020-01-07T08:44:21Z"),

"syncingTo" : "",

"syncSourceHost" : "",

"syncSourceId" : -1,

"infoMessage" : "",

"electionTime" : Timestamp(1578386449, 1),

"electionDate" : ISODate("2020-01-07T08:40:49Z"),

"configVersion" : 2,

"self" : true,

"lastHeartbeatMessage" : ""

},

{

"_id" : 1,

"name" : "127.0.0.1:27018",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 227,

"optime" : {

"ts" : Timestamp(1578386661, 1),

"t" : NumberLong(1)

},

"optimeDurable" : {

"ts" : Timestamp(1578386661, 1),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2020-01-07T08:44:21Z"),

"optimeDurableDate" : ISODate("2020-01-07T08:44:21Z"),

"lastHeartbeat" : ISODate("2020-01-07T08:44:25.210Z"),

"lastHeartbeatRecv" : ISODate("2020-01-07T08:44:24.254Z"),

"pingMs" : NumberLong(0),

"lastHeartbeatMessage" : "",

"syncingTo" : "127.0.0.1:27020",

"syncSourceHost" : "127.0.0.1:27020",

"syncSourceId" : 3,

"infoMessage" : "",

"configVersion" : 2

},

{

"_id" : 2,

"name" : "127.0.0.1:27019",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 227,

"optime" : {

"ts" : Timestamp(1578386661, 1),

"t" : NumberLong(1)

},

"optimeDurable" : {

"ts" : Timestamp(1578386661, 1),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2020-01-07T08:44:21Z"),

"optimeDurableDate" : ISODate("2020-01-07T08:44:21Z"),

"lastHeartbeat" : ISODate("2020-01-07T08:44:25.210Z"),

"lastHeartbeatRecv" : ISODate("2020-01-07T08:44:24.255Z"),

"pingMs" : NumberLong(0),

"lastHeartbeatMessage" : "",

"syncingTo" : "127.0.0.1:27020",

"syncSourceHost" : "127.0.0.1:27020",

"syncSourceId" : 3,

"infoMessage" : "",

"configVersion" : 2

},

{

"_id" : 3,

"name" : "127.0.0.1:27020",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 22,

"optime" : {

"ts" : Timestamp(1578386661, 1),

"t" : NumberLong(1)

},

"optimeDurable" : {

"ts" : Timestamp(1578386661, 1),

"t" : NumberLong(1)

},

"optimeDate" : ISODate("2020-01-07T08:44:21Z"),

"optimeDurableDate" : ISODate("2020-01-07T08:44:21Z"),

"lastHeartbeat" : ISODate("2020-01-07T08:44:25.229Z"),

"lastHeartbeatRecv" : ISODate("2020-01-07T08:44:25.732Z"),

"pingMs" : NumberLong(0),

"lastHeartbeatMessage" : "",

"syncingTo" : "127.0.0.1:27017",

"syncSourceHost" : "127.0.0.1:27017",

"syncSourceId" : 0,

"infoMessage" : "",

"configVersion" : 2

}

],

"ok" : 1,

"operationTime" : Timestamp(1578386661, 1),

"$clusterTime" : {

"clusterTime" : Timestamp(1578386661, 1),

"signature" : {

"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),

"keyId" : NumberLong(0)

}

}

}

crushlinux:PRIMARY> rs.remove("127.0.0.1:27020") //删除节点

{

"ok" : 1,

"operationTime" : Timestamp(1578386690, 1),

"$clusterTime" : {

"clusterTime" : Timestamp(1578386690, 1),

"signature" : {

"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),

"keyId" : NumberLong(0)

}

}

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB安装部署 的相关文章

  • 使用 Mongoose 将数组(“标签”)保存到 MongoDB

    我正在玩 Mongoose 但在保存到数组时遇到问题 例如 我在页面上有一个以逗号分隔的输入字段tags 我从 req body tags 中获取这些内容 删除空格 然后用逗号分隔它们以获得标签数组 现在 如何将该数组保存回我的数据库 我猜
  • MongoDB - 从每个对话中获取最后一条消息?

    我有一个对话集合 id from userA to userB message Hello datetime 我想显示用户对话的预览 当前用户与任何其他用户之间每次对话的最后一条消息 因此 当用户单击某些 最后一条消息 时 他会转到下一页
  • Spring Data - MongoDB 索引 DBRef

    我正在使用 spring data mongodb 1 2 0 RELEASE 我有两个类 A 和 B 其中 B 引用了 A 并且用 DBRef 进行了注释 Class A Document collection a public clas
  • 无法解构“undefined”或“null”的属性“user”

    使用 redux 检索用户信息时出错 我想从数据库获取用户信息 姓名 密码和头像地址 然后对其进行编辑 我正在使用nodejs express react redux 和jwt Actions user js import axios fr
  • 如何在猫鼬中使用聚合

    如何在 mongoose 中定义以下 MongoDB 聚合查询 db contacts aggregate group id code Code name Name 查询的目的是获取不同代码和名称的列表 我当前的模型代码是 use stri
  • 从 mongo shell 查找 mongoDB 上 2 个文档之间的差异

    我正在使用 mongodb 2 4 4 我想比较 2 个文档 然后仅使用 mongo shell 打印它们的差异 有没有办法比较它们 就像是 db collection compare first doc objectID blablalb
  • 将位置数据存储在 Mongodb 文档中

    在我当前的项目中 我将位置数据以以下格式存储在 Mongodb 文档中 location loc lng 118 15592692 lat 34 03566804 geocode city East Los Angeles state CA
  • 按日/月分组,并取 mongo 中当天/月评分的平均值

    我在 mongodb 中有这些数据 rating 4 ceatedAt ISODate 2016 08 08T15 32 41 262 0000 rating 3 createdAt ISODate 2016 08 08T15 32 41
  • 创建永远不匹配的 mongo 表达式的最佳方法

    我正在寻找的内容在某种程度上相当于在 SQL 中执行的操作 WHERE 1 0 我正在寻找这样的东西 因为我正在构建一个类型安全的 DSL 来在我的域上执行查询 支持连接和析取 有时 添加一个从不匹配任何内容的查询可能比在代码中处理它更容易
  • 在 cl-mongo 中实现 MongoDB SASL 身份验证

    我已经从 fons 分叉了 cl mongo common lisp MongoDB 库 存储库 因为它已经不再维护并且不支持 SCRAM SHA 1 登录过程 这是我的叉子 https github com mprelude cl mon
  • MongoDB 将数字转换为科学计数法的字符串

    我想获得完整的号码String 但反而 1490650000000 它返回科学计数法 1 49065e 12 这是我尝试转换它的方法 substr myNumber 0 1 有什么想法如何预防吗 Note 我使用的是v3 6 无法升级使用
  • MongoDB的ObjectId是如何生成的?

    他们是吗somewhat随机的 我的意思是 人们能够将它们分开吗 它们不是随机的 可以很容易地预测 BSON ObjectID 是一个 12 字节值 由 4 字节时间戳组成 自纪元以来的秒数 一个 3 字节 机器 ID 2 字节进程 ID
  • mongodb 正在运行吗?

    我已经在我的 Unix 服务器上安装了 Mongodb 和 PHP 驱动程序 我的问题是如何判断 Mongodb 是否正在运行 是否有一个简单的命令行查询来检查状态 如果我从外壳程序启动一次 如果我退出外壳程序 它会继续运行 情况似乎并非如
  • Mongoose 4.4.12 中 Schema 方法范围内的“this”为空 {}

    当在 Schema 方法内记录到控制台时 对象 this 为 这发生在一天前 我一直在阅读教程和其他堆栈溢出问题 但不幸的是我没有找到原因的解决方案 这是我的模型 var mongoose require mongoose var Sche
  • 为 MongoDB 中的对象数组建立索引

    我有一个巨大的电子邮件转储 我正在尝试在 MongoDB 中存储和查询它 有 160 万封电子邮件 每封电子邮件都存储为节点模块 https github com andris9 mailparser它将原始电子邮件解析为漂亮的 Javas
  • 在 shell/shell 脚本中设置 MongoDB 写关注

    我正在尝试填充一个集合MongoDB的壳 据我了解 使用轻松的Write Concern可以大大加快这个过程 我说的是文档 http docs mongodb org manual core write concern write oper
  • 阻止 Mongoose 为子文档数组项创建 _id 属性

    如果您有子文档数组 Mongoose 会自动为每个子文档创建 id 例子 id mainId subDocArray id unwantedId field value id unwantedId field value 有没有办法告诉 M
  • MongoDB 中两个集合之间的 Diff()

    我做过研究 如果这是一个重复的问题 我很抱歉 但其他问题的解决方案并不适合我 因此 我提出了一个新问题 使用 Javascript 比较两个集合的最佳方法是什么 我有数千个这样的 Mongo 文档格式的标头 url google com h
  • MongoDB 如何选择候选计划

    我的应用程序中的查询速度很慢 创建两个索引后 它在本地数据库中使用它们以获得更好的性能 但是当我部署在生产数据库上时 它仍然使用原始索引 下面是我所做的 集合中的属性tasks team id project id created by a
  • MongoDB Java 驱动程序:MongoCore 驱动程序与 MongoDB 驱动程序与 MongoDB 异步驱动程序

    MongoDB Java 驱动程序有三种不同的驱动程序选项 核心驱动 MongoDB 驱动程序 MongoDB 异步驱动程序 The 驱动程序描述页面 https docs mongodb org ecosystem drivers jav

随机推荐

  • AbstractMethodError: abstract method "void android.telephony.TelephonyManager$CellInfoCallback.on...

    一 Error现象 应用开启混淆后 APP在Android 10及以上机型上的部分页面会闪退 二 Error日志摘要 java lang AbstractMethodError abstract method void android te
  • LWIP协议栈实现裸机WEB服务器与客户端浏览器通信——新浪博客迁移

    领悟得有些缓慢 理清一下思路和头绪 才能继续更好的写程序 时间不等人啊 这篇博文是准备在前两天就编辑发出来的 吃完饭回来 上淘宝买点东西出问题了 等到现在才编完 准确的说是边聊天边编辑完了的 以前学习过程中搜索的一些笔记资料都是新浪博文或者
  • Text2Cypher:大语言模型驱动的图查询生成

    话接上文 图技术在 LLM 下的应用 知识图谱驱动的大语言模型 Llama Index 同大家简单介绍过 LLM 和图 知识图谱相关的结合 现在我来和大家分享下最新的成果 毕竟 从 GPT 3 开始展现出超出预期的 理解能力 开始 我一直在
  • 图灵聊天机器人API1.0与API2.0的使用方法

    转 https blog csdn net www rsqdz net article details 79680461 https blog csdn net qq 42292831 article details 88677623 思维
  • 业内人员告诉你银行测试到底做什么,怎么进银行测试.....

    前言 从一家工作了五年的软件公司的测试管理者跳槽到银行做软件测试 短短两个月 对银行测试有了初步认识 总结和记录下来 加深个人的理解 同时也共享给各位 银行作为大家的理财顾问 对金钱非常敏感 频繁甚至偶尔出现的软件故障都会打击顾客的信心 如
  • SCDN如何有效防御CC攻击和DDOS攻击的

    SCDN是由阿里云提供的一整套安全加速的解决方案 可以根据业务需求去进行定制 在防护效果上 最低防护20gbps 300gbps 当然定制版的防护最高可达到600gbps 在网络上我们常见的网络攻击就是CC攻击和DDOS攻击了 那么CC攻击
  • 数据库基本操作(持续更新ing)

    SQL语句基本类型 CRUD 增加 Create 查询 Retrieve 更新 Update 删除 Delete 创建数据库 CREATE DATABASE 数据库名 删除数据库 DROP DATABASE 数据库名 切换数据库 USE 数
  • ArcGIS Runtime for Android天地图底图及TPK数据包放大后数据不显示问题

    环境 ArcGIS Runtime for Android版本 100 14 0 底图放大不显示的原因 在天地图url的配置中配置了更高level的url 但没有实际的数据 或url返回了 解决方法 不配置没有数据的level的url TP
  • 平稳过程的各态历经性

    平稳过程的各态历经性 1 各态历经的定义 2 例题 2 1 例1 2 2例2 3 各态历经性的判定 1 各态历经的定义 如果一个随机过程是平稳的 而且是均值和相关函数都具有各态历经性 那么我们称这个平稳过程具有各态历经性 均值各态历经的定义
  • Ubuntu ssh 访问服务器失败

    今天用ssh 登录交换机的时候发现访问不了 一直报no matching key exchange method found ccchw ccchw HP Compaq Elite 8300 CMT ssh ssh itte 10 163
  • K210图像检测&(1~8)数字卡片识别

    前言 第一次使用该平台 想先找一个简单的识别 来走走流程 就想到了 前几年的送药小车的数字卡片识别 花了半天收集标记图片 在运行时要注意摄像头与数字卡片的高度 不过也有些不足 可能是收集某个数字的训练集的时候 拍摄高度 不一致 因为是手拍
  • C++之引用类型,深浅拷贝构造

    引用类型 给内存段取别名 int m 10 引用 给内存段取别名 所以需要给他一段内存段 而不只是声明 int n m 不是赋值的意思 是别名的意思 想要在被调函数中修改主调函数中定义的变量的值时 不需要将其地址传输给被调函数 直接传输变量
  • IDEA 使用技巧(快速生成xml文件)

    settiings 搜索File 找到 File and Code Templates 点击加号新建一个 Name 输入文件名 Extension 输入文件类型
  • PCL 生成空间直线点云

    目录 一 算法原理 二 代码实现 三 结果展示 一 算法原理 已知直线上一点和直线的方向向量 即可根据数学原理生成用于算法测试的标准直线点云 以下示例代码中 以直线上一点为中心点生成空间直线点云 其中点的个数为100个 相邻点之间的间隔为0
  • 微信小程序的的图片显示不出来

    图片的路径分两种 1 本地的图片如images文件夹下面的 images t1 jpg 或者是http localhost 8080 Teacher news t1 jpg 2 网络连接的图片http www baidu com vue n
  • python自动化操作, 三种方法解决滑动模块问题(后二种可跳过90%滑动,限制需要打开浏览器)

    selenium win32api pyautogui 元素定位 可无头进行访问 但是会被检测 基本用不了 sli ele driver find element By XPATH span id nc 1 n1z xpath 定位 if
  • 人工智能电话机器人一个顶10个,各版本系统搭建

    前接触多的就是电销行业 有电话机器人 VOS线路问题或要演示站AI技术支持 一个人面对多台电话不停地接听 特别是客户多时不知道应答哪一个 反而还把自己搞得心烦意乱 不过随着科技的发展 电销行业里出现了一个叫智能电销机器人的产品 自动应答客户
  • Innovus零基础lab学习全面复盘总

    Innovus零基础lab学习全面复盘总结 附完整版pdf 文章右侧广告为官方硬广告 与吾爱IC社区无关 用户勿点 点击进去后出现任何损失与社区无关 为了让各位训练营学员更快入门数字 IC 后端 从第八期 IC 训练营开始 小编以一个 数字
  • chatgpt 上方一直在转圈 白屏 空白

    下面空白 上面有个转圈 清除缓存 进入https platform openai com 返回刷新 更换节点 退出 Clash 软件 返回刷新 白屏 空白 来回换节点 就是换节点 有的时候是v p n的问题
  • MongoDB安装部署

    一 mongodb安装部署 关闭防火墙和selinux root mongodb iptables F root mongodb setenforce 0 root mongodb systemctl stop firewalld 2 指定