--- title: "Mongodb备忘录" date: 2019-09-23T10:18:30+08:00 draft: false toc: true images: tags: [database] categories: server --- - 创建唯一索引 ```javascript // 删除重复key db.games2.aggregate([ { "$group": { "_id": "$game_id", "dups": { "$push": "$_id" }, "count": { "$sum": 1 } } }, { "$match": { "count": { "$gt": 1 } } } ]).forEach(function(doc) { doc.dups.shift(); db.games2.remove({ "_id": { "$in": doc.dups } }); }); // 创建索引 db.games2.createIndex({"game_id": 1}, {unique: true}); ``` - 查找具有相同字段值的文档 ```javascript db.games2.find({$where: "this.fileId == this.fileUid"}); ``` - 创建管理员用户 ```javascript use admin db.createUser({ user: "username", pwd: "password", roles: ["root"] }) db.createUser({ user: "myUserAdmin", pwd: passwordPrompt(), // or cleartext password roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] } ) ``` - 创建数据库用户 ```javascript use mydb db.createUser({ user: "myTester", pwd: passwordPrompt(), // or cleartext password roles: [ { role: "readWrite", db: "mydb" }, { role: "read", db: "reporting" } ] } ) ``` - 连接数据库 ```javascript mongo --port 27017 -u "myTester" --authenticationDatabase "mydb" -p ```