小编Pie*_*oux的帖子

在不同的物理服务器上使用Docker部署mongodb replicaset服务器

我正在尝试使用docker部署mongodb replicaset.我设法通过执行以下操作在同一台服务器上执行此操作:

docker run -d --expose 27017 --name mongodbmycompany1 dockerfile/mongodb mongod --replSet rsmycompa
docker run -d --expose  27017 --name mongodbmycompany2 dockerfile/mongodb mongod --replSet rsacommeassure
docker run -d --expose 27017 --name mongodbmycompany3 dockerfile/mongodb mongod --replSet rsacommeassure

MONGODB1=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' mongodbmycompany1)
MONGODB2=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' mongodbmycompany2)
MONGODB3=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' mongodbmycompany3)

echo $MONGODB1
echo $MONGODB2
echo $MONGODB3

echo "Mongodb Replicaset init"
docker exec mongodbmycompany1 mongo 127.0.0.1:27017/mycompany --eval 'if(!rs.conf()) {     rs.initiate(); cfg = rs.conf(); cfg.members[0].host = …
Run Code Online (Sandbox Code Playgroud)

mongodb docker

13
推荐指数
2
解决办法
6431
查看次数

Mongodb:如何查找字段与ObjectId或字符串匹配的文档?

我在Mongodb的集合中有一些文档:

{_id : ObjectId('533af69b923967ac1801e113'), fKey : '533aeb09ebef89282c6cc478', ... }
{_id : ObjectId('5343bd1e2305566008434afc'), fKey : ObjectId('5343bd1e2305566008434afc'), ...} }
Run Code Online (Sandbox Code Playgroud)

如您所见,我的字段fkey可以由字符串ObjectId设置

我想获取所有与'533aeb09ebef89282c6cc478'或ObjectId('5343bd1e2305566008434afc')匹配的文档。

但是如果我跑:

db.mycollection.find({fkey : '533aeb09ebef89282c6cc478'})
Run Code Online (Sandbox Code Playgroud)

我只得到集合的第一个文件。

有没有一种方法可以配置Mongodb,以便在不检查类型的情况下获取与请求匹配的所有文档?

谢谢你的帮助。

皮埃尔

mongodb

0
推荐指数
1
解决办法
1339
查看次数

标签 统计

mongodb ×2

docker ×1