mongodump --archive --gzip --host host1 --db db1 -v | mongorestore --drop --archive --gzip --host host2 --port 27017 -v
mongodump --archive --gzip --host host1 --db db1 -v | mongorestore --drop --archive --gzip --host host2 --nsFrom db1.* --nsTo db2.* -v
第一条命令从host1将db1复制到host2的db1 第二条命令从host1将db1复制到host2的db2
ps -ef | grep mongod
找到mongodb的进程
kill -SGIUSR1 mongodb进程ID
这时候mongo会将当前日志保存为以日期命名的文件,然后创建新的mongodb.log文件
非正常关闭,lock文件没有干掉,所以再次启动时,检查到会有lock文件的时候,就报这个错误。
进入数据库目录(上次启动时指定的dbpath=/data/db/)删掉lock文件:rm /data/db/mongo.lock
然后执行mongod --repair
(修复,mongod依照自己的本地环境),再次启动,ok
java:
DBObject ref = new BasicDBObject();
ref.put("myfield", Pattern.compile(".*myValue.*" , Pattern.CASE_INSENSITIVE));
DBCursor cur = coll.find(ref);
mongo:
db.getCollection('mycollection').find({myfield:/^myvalues$/i})
db.collection.find({}).sort({"array.index":sortnum})
如:按照用户表中角色字段的第二个值倒叙排列
db.user.find({role:{$size:3}}).sort({"role.1":-1})
以下为原文引用:
results = Article.collection.aggregate(
{
"$match" => {
tags: {
"$in" => current_article.tags
},
_id: {
"$ne" => current_article.id
}
},
},
{
"$unwind" => "$tags"
},
{
"$match" => {
tags: {
"$in" => current_article.tags
}
}
},
{
"$group" => {
_id: "$_id",
matches: { "$sum" =>1 }
}
},
{
"$sort" => { matches: -1 }
},
{
"$limit" => 10
}
)