mongobooster 可视化工具
linux命令
cd bin //进入到bin目录
./mongo //启动mongod的命令行
use mydb //切换到mydb数据库下
db.auth('username','password') //根据用户名和密码授权
//返回 0 失败; 返回 1 成功
node 链接 mongodb
npm install mongodb --save
connect到数据库后,可以不close,一直处于连接状态
var MongoClient = require('mongodb').MongoClient, assert = require('assert');
//链接到带用户名密码的db数据库
var url = "mongodb://useName:passWord@IpAddress:port/dbName";
MongoClient.connect(url, function (err, db) {
assert.equal(null, err);
console.log("Connected successfully to server");
//db.close(); connect到数据库后,可以不close,一直处于连接状态
});
插入数据
//连接到名为mydb的数据库上
var collection = db.collection('mydb');
var insertData = { 'key': 'okok' }
collection.insert(insertData, function (err, result) {
if (err) {
console.log('Err:' + err);
} else {
console.log('成功')
}
})
查询匹配的数据
var collection = db.collection('mydb');
var findData = { 'key': 'okok' }
collection.find(findData).toArray(function (err, result) {
if (err) {
console.log('Err:' + err);
} else {
//返回一个符合条件的数组
console.log(result)
}
})
查询匹配多个属性的数据
var collection = db.collection('mydb');
var findData = { 'username': 'okok' ,'password':'9876'}
collection.find(findData).toArray(function (err, result) {
if (err) {
console.log('Err:' + err);
} else {
//返回一个符合条件的数组
console.log(result)
}
})
查询数据的某一个属性
//查询 user下的age属性是否等于16
var collection = db.collection('mydb');
collection.find({"user.age":16}).toArray(function (err, result) {
if (err) {
console.log('Err:' + err);
} else {
//返回一个符合条件的数组
console.log(result)
}
})
修改某个数据的属性
数据结构为
{
user: {
userName:'jeff'
},
data{
age:26
}
}
要把26改为72
var collection = db.collection('mydb');
var whereData= { 'user.userName': 'jeff' }//查找源
var updateDate={$set:{'data.age':72}}//替换的内容
collection.update(whereData,updateDate, function (err, result) {
if (err) {
console.log('Err:' + err);
} else {
console.log('成功')
}
})
删除数据
把符合查找条件的数据,全都删除
var collection = db.collection('mydb');
var whereData = { 'key': 'okok' }
collection.removeData(whereData ).toArray(function (err, result) {
if (err) {
console.log('Err:' + err);
} else {
//返回一个符合条件的数组
console.log(result)
}
})
过滤查询结果
//查询的结果会把所有的数据全部显示出来
collection.find({"data.age":16}).toArray(function (err, result) {})
//返回的结果中只有user.userName ,1为显示,0为不显示,默认为0
collection.find({"data.age":16},{'user.userName':1}).toArray(function (err, result) {})
//_id是默认显示的,改为0就不显示了
collection.find({"data.age":16},{'user.userName':1,'_id':0}).toArray(function (err, result) {})
网友评论