我想将我的mongodb从2.0迁移到3.0.所以我按照官方文档使用mongodump备份我的dbs并使用mongorestore将dbs恢复到mongodb 3.0.
但是当我使用mongorestore时,它告诉我"不知道如何处理文件"db/collection.bson",跳过......".
没事做.我怎么能迁移我的dbs?
谢谢.
编辑:这是我的步骤.
在mongodb 2.0中使用mongodump
mongodump
tree dump
db
??? collection-1.bson
??? collection-2.bson
??? collection-3.bson
??? ...
Run Code Online (Sandbox Code Playgroud)
将db目录复制到mongodb 3.0服务器.
在mongodb 3.0服务器上调用 mongorestore db
但我得到这个错误:
mongorestore db
2015-03-10T09:36:26.237+0800 building a list of dbs and collections to restore from db dir
2015-03-10T09:36:26.237+0800 don't know what to do with file "db/collection-1.bson", skipping...
2015-03-10T09:36:26.237+0800 don't know what to do with file "db/collection-2.bson", skipping...
2015-03-10T09:36:26.237+0800 don't know what to do with file "db/collection-3.bson", skipping...
...
2015-03-10T09:36:26.237+0800 done
Run Code Online (Sandbox Code Playgroud) 我发现db.collection.copyTo()和eval()自3.0以来已被弃用.但我找不到可以改变的东西.
有什么选择?
我想做一个无限循环函数.
这是我的代码
def do_request():
# my code here
print(result)
while True:
do_request()
Run Code Online (Sandbox Code Playgroud)
当使用while True它时,它有点慢,所以我想使用一个线程池来同时执行该函数do_request().这该怎么做 ?
就像使用ab(Apache Bench)来测试HTTP服务器一样.
我想执行此命令以获取vertxHome。
在shell中,我可以这样:
vertxHome=$(dirname $(dirname $(readlink -f $(which vertx))))
echo $vertxHome
Run Code Online (Sandbox Code Playgroud)
但是如何做到这一点呢?
我试过了vertxHome = 'dirname $(dirname $(readlink -f $(which vertx)))'.execute(),但是没有用。
在某些情况下,引号可以解决包含空格的参数。
$ command "param 1" "param 2" ...
Run Code Online (Sandbox Code Playgroud)
它也可以用于for循环。
$ for v in a "b c" "d e"
do
echo "|$v|"
done
|a|
|b c|
|d e|
Run Code Online (Sandbox Code Playgroud)
但是当我在之后使用变量时in,它不起作用:
$ var='a "b c" "d e"'
$ echo $var
a "b c" "d e"
$ for v in $var
do
echo "|$v|"
done
|a|
|"b|
|c"|
|"d|
|e"|
Run Code Online (Sandbox Code Playgroud)
它不起作用。我该如何解决这个问题?
我有一个动态 json,例如:
{
"ts": 1111111, // this field is required
... // others are dynamic
}
Run Code Online (Sandbox Code Playgroud)
除了 之外,这些字段都是动态的ts。例如:
{"ts":111,"f1":"aa","f2":"bb"}
Run Code Online (Sandbox Code Playgroud)
{"ts":222,"f3":"cc","f4":"dd"}
Run Code Online (Sandbox Code Playgroud)
如何用 Pydantic 声明这个模型?
class JsonData(BaseModel):
ts: int
... # and then?
Run Code Online (Sandbox Code Playgroud)
相当于打字稿:
interface JsonData {
ts: number;
[key: string]: any;
}
Run Code Online (Sandbox Code Playgroud)
谢谢。