日期:2014-05-16  浏览次数:20568 次

MongoDB Shell 常用操作

数组查询

数组查询

MongoDB 中有子文档的概念,一个文档中能方便的嵌入子文档,这与关系性数据库有着明显的不同,在查询时,语法有一些注意点。

例子代码,假如我们的一个集合(tests)中存在标签键,有如下模式:

tags:[ObjectId]
查询含有某个标签 ID 的文档
db.tests.find({tags: tagId});
我现在有一组标签 tagIds,即是数组,需要查询含有该数组中任一元素的文档,此时需要用到 $in 操作符
db.tests.find({tags:{$in: tagIds}});
如需唯一匹配该数组,与通常查询无异
db.tests.find({tags: tagIds});
如不考虑顺序关系影响,即同时含有 tagIds 中的每个元素,用 $all
db.tests.find({tags:{$all: tagIds}});
?

?MongoDB数据导出及导入

MongoDB 数据导出及导入

我目前用到的分别是 mongodump 和 mongorestore,他们语法挺相似。

导出

?

mongodump --host localhost:27017/data/backup/csser.com/csser.3-9/
表示将当前数据库导出到 csser.3-9 目录中去,导入用 mongorestore 即可恢复。

?

导入

?

mongorestore --host localhost:27017/data/backup/csser.com/csser.3-9/
表示将?csser.3-9?目录下的数据导入到 MongoDB 中。

?

?安全停止并退出MongoDB

安全停止并退出 MongoDB