我的文档结构如下:
{"name":"John", "age":32, ...other fields}
不需要初始化所有其他字段,只需要名称和年龄。我想创建一个带有名称和编号的脚本
./client.sh John 32
并在脚本中,它将执行类似
的操作db.client.insert({"name":$1,"age":$2});
如何实现这个目标?
答案 0 :(得分:0)
这是一个有效的简单示例脚本
#!/bin/bash
if [ $# -lt 2 ]
then
echo "USAGE: $0 name age"
exit 1
fi
mongo <<EOF
use test
db.client.insert({"name":"$1", "age":$2})
db.client.find()
EOF
它假定mongo
已安装在您的路径中,并且您在client
数据库中拥有test
集合。
下面的示例运行
hduser@localhost:~/temp$ ./mongo_ins.sh "overflow" 20
MongoDB shell version: 2.6.10
connecting to: test
switched to db test
WriteResult({ "nInserted" : 1 })
{ "_id" : ObjectId("56b35d134c24bf7c1190cfb3"), "name" : "Stack", "age" : 1 }
{ "_id" : ObjectId("56b35dabe23223802ea3fa61"), "name" : { }, "age" : 10 }
{ "_id" : ObjectId("56b35ebbd69a0abeeb817fe3"), "name" : "overflow", "age" : 20 }
bye
希望这有帮助