$ cd Downloads/big-data-3/mongodb $ ./mongodb/bin/mongod --dbpath db--dbpath db 指定了哪个数据库需要运行,而这个数据库的内容存放在一个文件夹里面。
$ cd Downloads/big-data-3/mongodb $ ./mongodb/bin/mongo
$ show dbs
$ use sample我们可以查看这个数据库下面的 collections
>> show collectionsTwitter 数据都保存在 users collection 下面。 一个collection 有点像 SQL 中的table。 我们看一下 users 下面有多少数据(也就是有多少 document)
>> db.users.count()
>> db.users.findOne()
>> db.users.distinct("user_name")
>> db.users.find({user_name: "ActionSportsJax"})
>> db.users.find({user_name: "ActionSportsJax"}).pretty()
>> db.users.find({user_name: "ActionSportsJax"}, {tweet_ID: 1}) >> db.users.find({user_name: "ActionSportsJax"}, {tweet_ID: 1, _id: 0})默认的,有一个 _id 会被筛选显示,你可以设置 _id:0 来丢弃它。 7. 正则匹配 利用 regex 来匹配含有通配符的表达式。 比如下面这样,你是用来查找 tweet_text 完全匹配为 FIFA 的,没有找到。
>> db.users.find({tweet_text: "FIFA"})
>> db.users.find({tweet_text: /FIFA/})
>> db.users.find({tweet_text: /FIFA/}).count()
>> db.users.createIndex({"tweet_text": "text"})
>> db.users.find({$text:{$search: "FIFA"}}).count()
>> db.users.find({$text:{$search:"FIFA -Texas"}}).count()
>> db.users.find({tweet_mentioned_count: {$gt: 6}})
>> db.users.find({$where: "this.tweet_mentioned_count>this.tweet_followers_count"}).count()
>> db.users.find({$and: [{tweet_text:/FIFA/}, {tweet_mentioned_count: {$gt: 4}}]}).count()