狼爱上狸

我胡汉三又回来了

#

怎么修改ppt模板

第一步:视图——母版——幻灯片母版
(进去了就是母版编辑的界面)
第二步:格式——背景,弹出相应对话框,有个小三角形,点击一下会出现下拉选项,选择最下面一项“填充效果”——弹出图片添加对话框,点“选择图片”选择你需要的图片就行了……至于字体字号格式什么的直接在上面修改就行了
第三步:视图——普通,返回到原来的编辑界面。

来自:
http://zhidao.baidu.com/question/189625399.html?an=0&si=1

posted @ 2011-04-08 00:40 狼爱上狸 阅读(5131) | 评论 (1)编辑 收藏

mongo数据库的下载与安装(windows xp环境下)

1.下载数据库http://fastdl.mongodb.org/win32/mongodb-win32-i386-1.6.5.zip

2.现在完成后解压目录,放到C盘下,然后按照如下选择“我的电脑->属性->高级->环境变量”,将“C:\mongodb\bin”这个路径放到环境变量内(如果添加环境变量可以去网上找).

3.选择"开始->运行",输入"cmd",在DOS窗口内输入“mongod -port 27017 -dbpath D:/deployment/mongoDb/data/db -logpath D:/deployment/mongoDb/data/log/logs.log ”,其中dbpath 为数据文件存储路径,logpath 为日志文件存储路径。

4.不要关闭上面的窗口,新打开一个DOS,输入“mongo->use admin->db.AddUser(username,password)”,username:数据库数据集的用户名,password数据库数据集操作的密码。

5.在两个DOS窗口内分别按“ctrl+c”,在第一个DOS窗口内输入“mongod -port 27017 -dbpath D:/deployment/mongoDb/data/db -logpath D:/deployment/mongoDb/data/log/logs.log -logappend -auth”的启动命令,auth是要求操作数据集是需要验证。

6.在第二个DOS窗口内,输入“mongo->use admin->db.auth(username,password)”,然后就可以对数据集进行操作(增、删、改)。


来自:http://www.hitb.com.cn/web/guest/bbs/-/message_boards/message/26944

posted @ 2011-03-23 11:00 狼爱上狸 阅读(942) | 评论 (0)编辑 收藏

win7 启动 mongo 方案

http://www.360doc.com/content/10/0618/22/10626_33885376.shtml

posted @ 2011-03-23 10:32 狼爱上狸 阅读(364) | 评论 (0)编辑 收藏

mongo 命令集

首先在mongo官网下载Windows的版本 

启动服务:mongod.exe --port 12345 --dbpath=c:\mongodb\db 
显示一下信息: 
Fri Dec 04 14:30:32 Mongo DB : starting : pid = 0 port = 12345 dbpath = c:\mongo 
db\db master = 0 slave = 0  32-bit 

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data 

**       see http://blog.mongodb.org/post/137788967/32-bit-limitations for more 

Fri Dec 04 14:30:32 db version v1.1.4-, pdfile version 4.5 
Fri Dec 04 14:30:32 git version: c67c2f7dd681152f1784c8e1c2119b979e65881d 
Fri Dec 04 14:30:32 sys info: windows (5, 1, 2600, 2, 'Service Pack 3') BOOST_LI 
B_VERSION=1_35 
Fri Dec 04 14:30:32 waiting for connections on port 12345 


启动客户端:mongo.exe localhost:12345 

检查是否正常:db.foo.save({a:1,b:9}) 
     db.foo.find({a:1}) 
控制台显示:{ "_id" : ObjectId("4b18b5b56f40000000006cec"), "a" : 1, "b" : 9 } 


添加数据:db.foo.save({a:1,b:9}) 

查询数据:db.foo.find({a:1})  //{a:1}是查询条件,当为空时查询所有 
  db.foo.findOne({a:1}) //显示出一条数据 

删除数据:db.foo.remove({a:1}) //删除a=1的数据 

表的数据量:db.foo.find().count() 

显示数据指定的条数:db.foo.find().limit(n) 

显示库名:db.foo.getDB() 

获取索引值:db.foo.getIndexes() 

表的统计:db.foo.stats() 

删除表:db.foo.drop() 

获取不重复的列:db.foo.distinct( key ) - eg. db.foo.distinct( 'x' ) 

忽略前面的几行:db.other.find({a:2}).skip(2)//忽略a=2中的前面2行 

方法帮助:db.foo.help() 


HELP 
        show dbs                     show database names 
        show collections             show collections in current database 
        show users                   show users in current database 
        show profile                 show most recent system.profile entries with time >= 1ms 
        use <db name>                set curent database to <db name> 
        db.help()                    help on DB methods 
        db.foo.help()                help on collection methods 
        db.foo.find()                list objects in collection foo 
        db.foo.find( { a : 1 } )     list objects in foo where a == 1 
        it                           result of the last line evaluated; use to further iterate 


DB methods: 
        db.addUser(username, password) 
        db.auth(username, password) 
        db.cloneDatabase(fromhost) 
        db.commandHelp(name) returns the help for the command 
        db.copyDatabase(fromdb, todb, fromhost) 
        db.createCollection(name, { size : ..., capped : ..., max : ... } ) 
        db.currentOp() displays the current operation in the db 
        db.dropDatabase() 
        db.eval(func, args) run code server-side 
        db.getCollection(cname) same as db['cname'] or db.cname 
        db.getCollectionNames() 
        db.getLastError() - just returns the err msg string 
        db.getLastErrorObj() - return full status object 
        db.getMongo() get the server connection object 
        db.getMongo().setSlaveOk() allow this connection to read from the nonmaster member of a replica pair 
        db.getName() 
        db.getPrevError() 
        db.getProfilingLevel() 
        db.getReplicationInfo() 
        db.getSisterDB(name) get the db at the same server as this onew 
        db.killOp() kills the current operation in the db 
        db.printCollectionStats() 
        db.printReplicationInfo() 
        db.printSlaveReplicationInfo() 
        db.printShardingStatus() 
        db.removeUser(username) 
        db.repairDatabase() 
        db.resetError() 
        db.runCommand(cmdObj) run a database command.  if cmdObj is a string, turns it into { cmdObj : 1 } 
        db.setProfilingLevel(level) 0=off 1=slow 2=all 
        db.shutdownServer() 
        db.version() current version of the server 

DBCollection help 
        db.foo.count() 
        db.foo.dataSize() 
        db.foo.distinct( key ) - eg. db.foo.distinct( 'x' ) 
        db.foo.drop() drop the collection 
        db.foo.dropIndex(name) 
        db.foo.dropIndexes() 
        db.foo.ensureIndex(keypattern,options) - options should be an object with these possible fields: name, unique, dropDups 
        db.foo.find( [query] , [fields]) - first parameter is an optional queryfilter. second parameter is optional set of fields to return.  e.g. db.foo.find( { x : 77 } , { name : 1 , x : 1 } ) 
        db.foo.find(...).count() 
        db.foo.find(...).limit(n) 
        db.foo.find(...).skip(n) 
        db.foo.find(...).sort(...) 
        db.foo.findOne([query]) 
        db.foo.getDB() get DB object associated with collection 
        db.foo.getIndexes() 
        db.foo.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } ) 
        db.foo.mapReduce( mapFunction , reduceFunction , <optional params> ) 
        db.foo.remove(query) 
        db.foo.renameCollection( newName ) renames the collection 
        db.foo.save(obj) 
        db.foo.stats() 
        db.foo.storageSize() - includes free space allocated to this collection 
        db.foo.totalIndexSize() - size in bytes of all the indexes 
        db.foo.totalSize() - storage allocated for all data and indexes 
        db.foo.update(query, object[, upsert_bool]) 
        db.foo.validate() - SLOW 
        db.foo.getShardVersion() - only for use with sharding 

来自: http://canofy.javaeye.com/blog/540926

posted @ 2011-03-23 10:31 狼爱上狸 阅读(2147) | 评论 (0)编辑 收藏

mongo shell命令

命令行

--help 显示命令行参数
--nodb 不连接数据库方式启动,稍后可以使用 new Mongo() 或 connect() 来建立连接
--shell 从命令行运行完一个 .js 文件后,停留在shell中,而不是结束

特殊命令

非JavaScript的辅助指令:

help 显示帮助
db.help() 显示 db 方法帮助
db.myColl .help() 显示聚集的方法帮助
show dbs 打印服务器上所有数据库的列表
use dbname 设置db变量来指明使用服务器上的 dbname 数据库
show collections 打印当前数据库的所有聚集
show users 打印当前数据库的用户
show profile 打印最近耗时大于1ms的profiling操作

基本的Shell Javascript操作

db 指向当前数据库对象和连接的变量,已经在你的实例里定义好。
db.auth(user,pass) 数据库认证(如果运行安全模式的话)
coll = db.collection 访问数据库里特定的 collection
cursor = coll.find() 查找聚集里所有的对象。参考 [查询] 。
coll.remove(objpattern ) 从聚集里删除匹配的对象。 
objpattern 是一个指定匹配的域的对象,例如:coll.remove( { name: "Joe" } );
coll.save(object ) 在聚集中保存对象,如果已经存在的话则更新它。 
如果对象有 presave 方法,则会在保存到数据库之前(插入和更新之前)调用该方法。
coll.insert(object) 向聚集中插入对象。不会检查该对象是否已经存在聚集中(即,不是 upsert)
coll.update(...) 在聚集中更新对象。update() 有许多参数,请查看 更新 文档。
coll.ensureIndex( { name : 1 } ) 对 name 建索引。如果索引存在则不做任何事。
coll.drop() 删除 coll 聚集
db.getSisterDB(name) 返回当前连接的另一个数据库。它允许跨数据库查询,例如:db.getSisterDB('production').getCollectionNames()

查询

coll.find() 查询所有文档
it 循环上次 find() 调用返回的游标
coll.find( criteria ); 查询聚集中匹配 criteria 的对象。例如:coll.find( { name: "Joe" } );
coll.findOne( criteria); 查询并返回一个对象。如果没有找到则返回 null。如果你只需要返回一个对象,这个方法比 find() as limit(1) 效率更高。如果元素类型是字符串,数字或时间,你还可以使用正则表达式:coll.find( { name: /joe/i } );
coll.find( criteria, fields ); 查询对象里特定的域。例如:coll.find( {}, {name:true} );
coll.find().sort( {field :1[, field :1] }); 对返回结果进行排序(field ASC)。使用 -1 表示 DESC。
coll.find( criteria ).sort( { field : 1 } ) 查找匹配 criteria 的对象,并对 field 进行排序。
coll.find( ... ).limit(n ) 限制结果返回 n 行。如果你只需要某几行数据,推荐这样做来获得最优性能。
coll.find( ... ).skip(n) 跳过 n 行结果。
coll.count() 返回聚集里对象的总数。
coll.find( ... ).count() 返回匹配该查询的对象总数。注意,该返回会忽略 limit 和 skip。比如有100行记录匹配该查询,但是limit为10,count() 仍会返回100。这比你自己循环更快,但仍然需要消耗些时间。

更多信息请参考 [查询] 。

错误检查

[{{db.getLastError()}}] 返回上次操作的错误
db.getPrevError() 返回之前操作的错误
db.resetError() 清除错误记录

管理命令

db.cloneDatabase(fromhost) 从另外指定的主机拷贝当前数据数据库。fromhost必须为noauth模式。
db.copyDatabase(fromdb, todb, fromhost) 拷贝fromhost的fromdb数据库到当前服务器的todb数据库。fromhost必须为noauth模式。
db.repairDatabase() 修复当前数据库。如果数据库很大则该操作会非常慢。
db.addUser(user,pwd) 给当前数据库添加用户。
db.getCollectionNames() 获得所有聚集的列表。
db.dropDatabase() 删除当前数据库。

打开额外连接

db = connect("<host>:<port>/<dbname>") 打开一个新的数据库连接。一个shell可能有多个连接,但是shell自动的getLastError只用于 'db' 变量。
conn = new Mongo("hostname") 打开一个新的服务器连接。然后可以使用 getDB() 来选择一个数据库。
db = conn.getDB("dbname") 对一个连接选择一个特定的数据库。

其他

Object.bsonsize(db.foo.findOne()) 打印一个数据库对象的bson大小(mongo 版本1.3及以上)
db.foo.findOne().bsonsize() 打印一个数据库对象的bson大小 (mongo 版本1.3之前)

posted @ 2011-03-23 10:29 狼爱上狸 阅读(8442) | 评论 (0)编辑 收藏

mongo phpadmin客户端

其实用mongo已经有些时候了,之所以算初探,是因为用的不深入,主要就是当中nosql中的类k-v用的,用之取代了部分的tt,原因很简单,mongo中的数据格式虽然是bson的,不过在我这个pythoner眼中,这不明明就是纯天然的 dict么!好吧,我承认,就是这个原因让我义无反顾地走上了mongoing之路(无论什么项目,用到存储自然而然的想用mongo)。 
mongo的优劣是在使用的过程中逐步体验出来的,在这里就不评说了,想要评测的请直接google之 

之前一直是直接在服务器端用pymongo或者mongo自带的shell做数据查看修改之类的操作,突然发现这个实在不利于推广,公司同事似乎本能的对这种nosql有稳定性上的怀疑。也好理解,看不到的,通常是不可信的(谁说的来着)。 

鉴于大伙都习惯了phpadmin玩mysql的光荣传统,如果mongo也有类似的东东,看起来也亲切些,个人感觉对推广也会有利些。 

额,说了这么多,好像还没有能进入到主题,好吧,说是初探,似乎有些标题党了,其实就想推荐下这个东东:http://code.google.com/p/rock-php/wiki/rock_mongo_zh#安装 

不错的mongodb phpadmin客户端,还支持中文(我想这个还是蛮有利推广的),所谓初探,只不过是使用这东东换了个视角来看看Mongodb,感觉的确有些不一样。 

不过,值得注意到是,装这玩意之前,还得为php装一个mongo的drive,不过不要紧,装完这个之后,访问时会直接给个装drive的链接,还是蛮方便的。 

额,我应该不算标题党吧(至少不是纯碎的标题党。。 
来自:http://iyuan.javaeye.com/blog/799515

posted @ 2011-03-23 10:28 狼爱上狸 阅读(970) | 评论 (0)编辑 收藏

mongo常用操作

shell#查询
查询 name = "bruce" 的数据
db.users.find({ name : "bruce" });

条件操作符
$gt : >
$lt : <
$gte: >=
$lte: <=
$ne : !=、<>
$in : in
$nin: not in
$all: all
$not: 反匹配(1.3.3及以上版本)

查询 name <> "bruce" and age >= 18 的数据
db.users.find({name: {$ne: "bruce"}, age: {$gte: 18}});

查询 creation_date > '2010-01-01' and creation_date <= '2010-12-31' 的数据
db.users.find({creation_date:{$gt:new Date(2010,0,1), $lte:new Date(2010,11,31)});

查询 age in (20,22,24,26) 的数据
db.users.find({age: {$in: [20,22,24,26]}});

查询 age取模10等于0 的数据
db.users.find('this.age % 10 == 0');
或者
db.users.find({age : {$mod : [10, 0]}});

匹配所有
db.users.find({favorite_number : {$all : [6, 8]}});
可以查询出{name: 'David', age: 26, favorite_number: [ 6, 8, 9 ] }
可以不查询出{name: 'David', age: 26, favorite_number: [ 6, 7, 9 ] }

查询不匹配name=B*带头的记录
db.users.find({name: {$not: /^B.*/}});
查询 age取模10不等于0 的数据
db.users.find({age : {$not: {$mod : [10, 0]}}});

#返回部分字段
选择返回age和_id字段(_id字段总是会被返回)
db.users.find({}, {age:1});
db.users.find({}, {age:3});
db.users.find({}, {age:true});
db.users.find({ name : "bruce" }, {age:1});
0为false, 非0为true

选择返回age、address和_id字段
db.users.find({ name : "bruce" }, {age:1, address:1});

排除返回age、address和_id字段
db.users.find({}, {age:0, address:false});
db.users.find({ name : "bruce" }, {age:0, address:false});

数组元素个数判断
对于{name: 'David', age: 26, favorite_number: [ 6, 7, 9 ] }记录
匹配db.users.find({favorite_number: {$size: 3}});
不匹配db.users.find({favorite_number: {$size: 2}});

$exists判断字段是否存在
查询所有存在name字段的记录
db.users.find({name: {$exists: true}});
查询所有不存在phone字段的记录
db.users.find({phone: {$exists: false}});

$type判断字段类型
查询所有name字段是字符类型的
db.users.find({name: {$type: 2}});
查询所有age字段是整型的
db.users.find({age: {$type: 16}});

对于字符字段,可以使用正则表达式
查询以字母b或者B带头的所有记录
db.users.find({name: /^b.*/i});

$elemMatch(1.3.1及以上版本)
为数组的字段中匹配其中某个元素

Javascript查询和$where查询
查询 age > 18 的记录,以下查询都一样
db.users.find({age: {$gt: 18}});
db.users.find({$where: "this.age > 18"});
db.users.find("this.age > 18");
f = function() {return this.age > 18} db.users.find(f);

排序sort()
以年龄升序asc
db.users.find().sort({age: 1});
以年龄降序desc
db.users.find().sort({age: -1});

限制返回记录数量limit()
返回5条记录
db.users.find().limit(5);
返回3条记录并打印信息
db.users.find().limit(3).forEach(function(user) {print('my age is ' + user.age)});
结果
my age is 18
my age is 19
my age is 20

限制返回记录的开始点skip()
从第3条记录开始,返回5条记录(limit 3, 5)
db.users.find().skip(3).limit(5);

查询记录条数count()
db.users.find().count();
db.users.find({age:18}).count();
以下返回的不是5,而是user表中所有的记录数量
db.users.find().skip(10).limit(5).count();
如果要返回限制之后的记录数量,要使用count(true)或者count(非0)
db.users.find().skip(10).limit(5).count(true);

分组group()
假设test表只有以下一条数据
{ domain: "www.mongodb.org"
, invoked_at: {d:"2009-11-03", t:"17:14:05"}
, response_time: 0.05
, http_action: "GET /display/DOCS/Aggregation"
}
使用group统计test表11月份的数据count:count(*)、total_time:sum(response_time)、 avg_time:total_time/count;
db.test.group(
   { cond: {"invoked_at.d": {$gt: "2009-11", $lt: "2009-12"}}
   , key: {http_action: true}
   , initial: {count: 0, total_time:0}
   , reduce: function(doc, out){ out.count++; out.total_time+=doc.response_time }
   , finalize: function(out){ out.avg_time = out.total_time / out.count }
   } );

[
  {
    "http_action" : "GET /display/DOCS/Aggregation",
    "count" : 1,
    "total_time" : 0.05,
    "avg_time" : 0.05
  }
]

来自: http://hi.baidu.com/asminfo/blog/item/20301e22dcfcce50ac34de7a.html

posted @ 2011-03-23 10:26 狼爱上狸 阅读(1063) | 评论 (0)编辑 收藏

grails 升级到1.3.6的乱码解决方法

原先的grails是1.2.0,从这个版本之后,我试过1.2.1,1.2.2,1.3.0,1.3.1,但都因为程序在运行时会变成乱码,而一直使用着1.2.0。

我们的TOMCAT使用的是GBK编码,GRAILS文本都是使用UTF-8编码,所以,这是产生乱码的根本原因。

最近又有grails1.3.6,更新得很快,网上找了找,有解决方案了。http://www.groovyq.net/content/grails13%E5%8F%91%E5%B8%83

在服务器上一试,果然能行。现记录如下:

重新设定System.out的编码,将下面语句加入到_GrailsInit.groovy中,或者加入工程的BootStrap.groovy的init段即可
System.out = new PrintStream(System.out, true,"GB2312");

 

我使用的是第二种方法,在BootStrap.groovy的init段中加入以上语句。

以前,有位高手也提到过,但他的原文是:

“如果是println打印中文乱码的话,那么就在初始化文件中增加
 System.out = new  PrintStream(System.out, true, "GBK") 
就应该了,你测试一下吧, ”

所以我一直以为是解决打印乱码的。

在此一并谢过。


来自: http://hi.baidu.com/caihexi/blog/item/76d093a4cce0c6e59152ee15.html

posted @ 2011-03-23 10:25 狼爱上狸 阅读(389) | 评论 (0)编辑 收藏

MongoDB的基本操作

详细请阅: 
http://www.oschina.net/code/snippet_35115_2888

posted @ 2011-03-23 10:24 狼爱上狸 阅读(234) | 评论 (0)编辑 收藏

MongoDB的自增长主键的实现

详细请阅: 
http://www.oschina.net/code/snippet_35115_2915

posted @ 2011-03-23 10:23 狼爱上狸 阅读(770) | 评论 (0)编辑 收藏

仅列出标题
共38页: First 上一页 13 14 15 16 17 18 19 20 21 下一页 Last