锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品国产成人中文,亚洲图片中文字幕,亚洲人成在线免费观看http://m.tkk7.com/ashutc/category/47416.html娌堥槼姹傝亴錛坖ava3騫翠互涓婄粡楠岋級(jí)錛乤shutc@126.comzh-cnWed, 20 Apr 2011 11:15:46 GMTWed, 20 Apr 2011 11:15:46 GMT60mongodb 宓屽鏌ヨ for javahttp://m.tkk7.com/ashutc/archive/2011/02/18/344602.html瑗跨摐瑗跨摐Fri, 18 Feb 2011 03:07:00 GMThttp://m.tkk7.com/ashutc/archive/2011/02/18/344602.htmlhttp://m.tkk7.com/ashutc/comments/344602.htmlhttp://m.tkk7.com/ashutc/archive/2011/02/18/344602.html#Feedback0http://m.tkk7.com/ashutc/comments/commentRss/344602.htmlhttp://m.tkk7.com/ashutc/services/trackbacks/344602.html    DBCollection col = db.getCollection(name);
        DBObject query 
= new BasicDBObject("$in"new Object[] { ids });
        DBCursor ite 
= col.find(query);

瑗跨摐 2011-02-18 11:07 鍙戣〃璇勮
]]>
浠嶮ySQL鍒癕ongoDB綆鏄撳鐓ц〃http://m.tkk7.com/ashutc/archive/2011/02/18/344600.html瑗跨摐瑗跨摐Fri, 18 Feb 2011 02:28:00 GMThttp://m.tkk7.com/ashutc/archive/2011/02/18/344600.htmlhttp://m.tkk7.com/ashutc/comments/344600.htmlhttp://m.tkk7.com/ashutc/archive/2011/02/18/344600.html#Feedback0http://m.tkk7.com/ashutc/comments/commentRss/344600.htmlhttp://m.tkk7.com/ashutc/services/trackbacks/344600.html鏌ヨ錛?br /> MySQL:
SELECT 
* FROM user
Mongo:
db.user.find()

MySQL:
SELECT 
* FROM user WHERE name = ’starlee’
Mongo:
db.user.find({‘name’ : ’starlee’})

鎻掑叆錛?br /> MySQL:
INSERT INOT user (`name`, `age`) values (’starlee’,
25)
Mongo:
db.user.insert({‘name’ : ’starlee’, ‘age’ : 
25})

濡傛灉浣犳兂鍦∕ySQL閲屾坊鍔犱竴涓瓧孌碉紝浣犲繀欏伙細(xì)
ALTER TABLE user….
浣嗗湪MongoDB閲屼綘鍙渶瑕侊細(xì)
db.user.insert({‘name’ : ’starlee’, ‘age’ : 
25, ‘email’ : ’starlee@starlee.com’})

鍒犻櫎錛?br /> MySQL:
DELETE 
* FROM user
Mongo:
db.user.remove({})

MySQL:
DELETE FROM user WHERE age 
< 30
Mongo:
db.user.remove({‘age’ : {$lt : 
30}})

$gt : 
> ; $gte : >= ; $lt : < ; $lte : <= ; $ne : !=

鏇存柊:

MySQL:
UPDATE user SET `age` 
= 36 WHERE `name` = ’starlee’
Mongo:
db.user.update({‘name’ : ’starlee’}, {$set : {‘age’ : 
36}})

MySQL:
UPDATE user SET `age` 
= `age` + 3 WHERE `name` = ’starlee’
Mongo:
db.user.update({‘name’ : ’starlee’}, {$inc : {‘age’ : 
3}})

MySQL:
SELECT COUNT(
*) FROM user WHERE `name` = ’starlee’
Mongo:
db.user.find({‘name’ : ’starlee’}).count()

MySQL:
SELECT 
* FROM user limit 10,20
Mongo:
db.user.find().skip(
10).limit(20)

MySQL:
SELECT 
* FROM user WHERE `age` IN (2535,45)
Mongo:
db.user.find({‘age’ : {$in : [
253545]}})

MySQL:
SELECT 
* FROM user ORDER BY age DESC
Mongo:
db.user.find().sort({‘age’ : 
-1})

MySQL:
SELECT DISTINCT(name) FROM user WHERE age 
> 20
Mongo:
db.user.distinct(‘name’, {‘age’: {$lt : 
20}})

MySQL:
SELECT name, sum(marks) FROM user GROUP BY name
Mongo:
db.user.group({
key : {‘name’ : 
true},
cond: {‘name’ : ‘foo’},
reduce: function(obj,prev) { prev.msum 
+= obj.marks; },
initial: {msum : 
0}
});

MySQL:
SELECT name FROM user WHERE age 
< 20
Mongo:
db.user.find(‘
this.age < 20′, {name : 1})

鍙戠幇寰堝浜哄湪鎼淢ongoDB寰幆鎻掑叆鏁版嵁錛屼笅闈㈡妸MongoDB寰幆鎻掑叆鏁版嵁鐨勬柟娉曟坊鍔犲湪涓嬮潰錛?br />
for(var i=0;i<100;i++)db.test.insert({uid:i,uname:’nosqlfan’+i});

涓婇潰涓嬈℃ф彃鍏ヤ竴鐧炬潯鏁版嵁錛屽ぇ姒傜粨鏋勫涓嬶細(xì)
{ “_id” : ObjectId(“4c876e519e86023a30dde6b8″), “uid” : 
55, “uname” : “nosqlfan55″ }
{ “_id” : ObjectId(“4c876e519e86023a30dde6b9″), “uid” : 
56, “uname” : “nosqlfan56″ }
{ “_id” : ObjectId(“4c876e519e86023a30dde6ba”), “uid” : 
57, “uname” : “nosqlfan57″ }
{ “_id” : ObjectId(“4c876e519e86023a30dde6bb”), “uid” : 
58, “uname” : “nosqlfan58″ }
{ “_id” : ObjectId(“4c876e519e86023a30dde6bc”), “uid” : 
59, “uname” : “nosqlfan59″ }
{ “_id” : ObjectId(“4c876e519e86023a30dde6bd”), “uid” : 
60, “uname” : “nosqlfan60″ } 綆鏄撳鐓ц〃
SQL Statement                                                        Mongo Query Language Statement 
CREATE TABLE USERS (a Number, b Number)                          implicit; can be done explicitly 

INSERT INTO USERS VALUES(
1,1)                                    db.users.insert({a:1,b:1})
SELECT a,b FROM users    
                                       db.users.find({}, {a:1,b:1})
SELECT 
* FROM users                                              db.users.find()
SELECT 
* FROM users WHERE age=33                                   db.users.find({age:33})
SELECT a,b FROM users WHERE age
=33                                   db.users.find({age:33}, {a:1,b:1})
SELECT 
* FROM users WHERE age=33 ORDER BY name                          db.users.find({age:33}).sort({name:1})
SELECT 
* FROM users WHERE age>33                                   db.users.find({'age':{$gt:33}})})
SELECT 
* FROM users WHERE age<33                                   db.users.find({'age':{$lt:33}})})
SELECT 
* FROM users WHERE name LIKE "%Joe%"                                   db.users.find({name:/Joe/})
SELECT 
* FROM users WHERE name LIKE "Joe%"                                   db.users.find({name:/^Joe/})
SELECT 
* FROM users WHERE age>33 AND age<=40                                   db.users.find({'age':{$gt:33,$lte:40}})})
SELECT 
* FROM users ORDER BY name DESC                                   db.users.find().sort({name:-1})
CREATE INDEX myindexname ON users(name)  
                                 db.users.ensureIndex({name:1})
CREATE INDEX myindexname ON users(name,ts DESC)  
                                 db.users.ensureIndex({name:1,ts:-1})
SELECT 
* FROM users WHERE a=1 and b='q'                                   db.users.find({a:1,b:'q'})
SELECT 
* FROM users LIMIT 10 SKIP 20                                   db.users.find().limit(10).skip(20)
SELECT 
* FROM users WHERE a=1 or b=2                                   db.users.find( { $or : [ { a : 1 } , { b : 2 } ] } )
SELECT 
* FROM users LIMIT 1                                          db.users.findOne()
EXPLAIN SELECT 
* FROM users WHERE z=3                                   db.users.find({z:3}).explain()
SELECT DISTINCT last_name FROM users   
                                db.users.distinct('last_name')
SELECT COUNT(
*y) FROM users                                            db.users.count()
SELECT COUNT(
*y) FROM users where AGE > 30                             db.users.find({age: {'$gt'30}}).count()
SELECT COUNT(AGE) from users   
                                    db.users.find({age: {'$exists'true}}).count()
UPDATE users SET a
=1 WHERE b='q'                                   db.users.update({b:'q'}, {$set:{a:1}}, falsetrue)
UPDATE users SET a
=a+2 WHERE b='q'                                   db.users.update({b:'q'}, {$inc:{a:2}}, falsetrue)
DELETE FROM users WHERE z
="abc"                                    db.users.remove({z:'abc'});













瑗跨摐 2011-02-18 10:28 鍙戣〃璇勮
]]>
MongoDB+java+spirng+morphiahttp://m.tkk7.com/ashutc/archive/2011/01/12/342819.html瑗跨摐瑗跨摐Wed, 12 Jan 2011 02:09:00 GMThttp://m.tkk7.com/ashutc/archive/2011/01/12/342819.htmlhttp://m.tkk7.com/ashutc/comments/342819.htmlhttp://m.tkk7.com/ashutc/archive/2011/01/12/342819.html#Feedback0http://m.tkk7.com/ashutc/comments/commentRss/342819.htmlhttp://m.tkk7.com/ashutc/services/trackbacks/342819.htmlHotle.java


package test_yu.morphiaSpring;

import com.google.code.morphia.annotations.Embedded;
import com.google.code.morphia.annotations.Entity;
import com.google.code.morphia.annotations.Id;
/**
 * 
 * 
@author yu
 * 鍒涘緩浜嗕袱涓鍩烪otel,Address,鍓嶈呬負(fù)瀹炰綋瀛樺湪,鏈夎嚜宸辯殑鐢熷懡鍛ㄦ湡,鍚庤呭垯涓哄唴宓屽湪瀹炰綋涔嬩腑,娌℃湁鐙珛鐨勭敓鍛藉懆鏈?br />  
*/
@Entity
public class Hotle {
    @Id
    
private int id;

    
private String name;
    
private int stars;
    @Embedded
    
private Address address;
    
public int getId() {
        
return id;
    }
    
public void setId(int id) {
        
this.id = id;
    }
    
public String getName() {
        
return name;
    }
    
public void setName(String name) {
        
this.name = name;
    }
    
public int getStars() {
        
return stars;
    }
    
public void setStars(int stars) {
        
this.stars = stars;
    }
    
public Address getAddress() {
        
return address;
    }
    
public void setAddress(Address address) {
        
this.address = address;
    }
    
}

@Embedded
class Address {
    
private String street;
    
private String city;
    
private String postCode;
    
private String country;
    
public String getStreet() {
        
return street;
    }
    
public void setStreet(String street) {
        
this.street = street;
    }
    
public String getCity() {
        
return city;
    }
    
public void setCity(String city) {
        
this.city = city;
    }
    
public String getPostCode() {
        
return postCode;
    }
    
public void setPostCode(String postCode) {
        
this.postCode = postCode;
    }
    
public String getCountry() {
        
return country;
    }
    
public void setCountry(String country) {
        
this.country = country;
    }

    
    
}

MorphiaBean.java

package test_yu.morphiaSpring;

import com.google.code.morphia.Datastore;
import com.google.code.morphia.Morphia;
import com.mongodb.Mongo;

public class MorphiaBean extends Morphia {
    
private Mongo mongo;
    
private String dbName;
    
public Datastore getDatastore(){
        
if(this.mongo==null||this.dbName==null){
            
return null;
        }
      
return createDatastore(mongo, dbName);
    }
    
public Mongo getMongo() {
        
return mongo;
    }
    
public void setMongo(Mongo mongo) {
        
this.mongo = mongo;
    }
    
public String getDbName() {
        
return dbName;
    }
    
public void setDbName(String dbName) {
        
this.dbName = dbName;
    }

}

MorphiaTest.java

package test_yu.morphiaSpring;


import java.net.UnknownHostException;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.google.code.morphia.Datastore;

public class MorphiaTest {
    
public static void main(String[] args) throws UnknownHostException {
        ApplicationContext context 
=new ClassPathXmlApplicationContext("applicationContext.xml");
        MorphiaBean morphiaBean
=(MorphiaBean) context.getBean("morphia");
        Datastore ds
=morphiaBean.getDatastore();
        
//鍚戞暟鎹簱涓坊鍔犲鏉¤褰?/span>
        addManyArticles(ds);
//        printLine();
//
//        Article single = ds.get(Article.class,9);
//        System.out.println("single = " + single);
//
//        printLine();
//
//        //鏌ヨ鏂囩珷澶т簬5錛岀紪杈慽d澶т簬106鐨勬枃绔?br /> //        List<Article> articles= ds.find(Article.class,"id >",5).filter("editor.id >",106).asList();
//        displayArticleList(articles);
//
//        printLine();
//
//        //鏇存柊id=123鐨勬枃绔犳爣棰樺拰緙栬緫鍚嶇О
//        ds.update(ds.createQuery(Article.class).where("id = 123"),ds.createUpdateOperations(Article.class).set("title","淇敼鍚庣殑鏍囬").set("editor.name","yumeng"));
//
//        printLine();
//
//        //鎵鏈塱d鍙峰ぇ浜?鐨勬枃绔犵殑緙栬緫id鍙?1
//        ds.update(ds.createQuery(Article.class).where("id > 5"),ds.createUpdateOperations(Article.class).inc("editor.id"));
//
//        printLine();
//
//        //鍚慽d涓?23鐨勬枃绔犵殑鍏抽敭璇嶅垪琛ㄤ腑鏂板涓涓叧閿瘝
//        ds.update(ds.createQuery(Article.class).filter("id",123),ds.createUpdateOperations(Article.class).add("keywords", "瀹忓熀"));
//        //鎵歸噺娣誨姞鍏抽敭璇?br /> //        List<String > keys = new ArrayList<String>();
//        keys.add("鑻嶅ぉ");
//        keys.add("澶у湴");
//        ds.update(ds.createQuery(Article.class).filter("id",123),ds.createUpdateOperations(Article.class).addAll("keywords",keys,false));
//        //鍒楀嚭鎵鏈夋暟鎹?br /> //        Query<Article> query = ds.find(Article.class);
//        displayQueryRusult(query);

    }

//    private static void printLine() {
//        System.out.println("-------------------------------------");
//    }
//
//    private static void displayArticleList(List<Article> articles) {
//        for (Article article : articles) {
//            System.out.println("article = " + article);
//        }
//    }
//
//    private static void displayQueryRusult(Query<Article> query) {
//        Iterator<Article> it = query.fetch().iterator();
//        while (it.hasNext()) {
//            Article article =  it.next();
//            System.out.println("article.toString() = " + article.toString());
//        }
//    }

    
private static void addManyArticles(Datastore ds) {
        
for(int i = 0;i < 10;i++){
            Hotle hotle 
= new Hotle();

            Address address
=new Address();
            address.setCity(
"鍖椾含");
            address.setCountry(
"涓浗");
            address.setPostCode(
"100080");
            address.setStreet(
"嫻鋒穩(wěn)涓");
            
            
            hotle.setId(i);
            hotle.setName(
"鎮(zhèn)︽潵閰掑簵");
            hotle.setStars(
0);
            hotle.setAddress(address);
            ds.save(hotle);
        }
    }
}


applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation
="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    
<bean id="propertyConfigurer"
        
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        
<property name="locations">
            
<list>
                
<value>/config.properties</value>
            
</list>
        
</property>
    
</bean>
    
<bean id="mongo" class="com.mongodb.Mongo">
        
<constructor-arg type="String" value="219.239.88.200"></constructor-arg>
        
<constructor-arg type="int" value="27017"></constructor-arg>
    
</bean>
    
<bean id="morphia" class="test_yu.morphiaSpring.MorphiaBean">
        
<property name="mongo" ref="mongo"></property>
        
<property name="dbName" value="address"></property>
    
</bean>
</beans>


闇瑕佸嚑涓敮鎸佸寘
























瑗跨摐 2011-01-12 10:09 鍙戣〃璇勮
]]>
MongoDB 姝e垯琛ㄨ揪寮?regex 鏌ヨhttp://m.tkk7.com/ashutc/archive/2010/12/21/341264.html瑗跨摐瑗跨摐Tue, 21 Dec 2010 09:48:00 GMThttp://m.tkk7.com/ashutc/archive/2010/12/21/341264.htmlhttp://m.tkk7.com/ashutc/comments/341264.htmlhttp://m.tkk7.com/ashutc/archive/2010/12/21/341264.html#Feedback0http://m.tkk7.com/ashutc/comments/commentRss/341264.htmlhttp://m.tkk7.com/ashutc/services/trackbacks/341264.html
                //鏉′歡鏌ヨ  妯$硦鏌ヨ
                Pattern john = Pattern.compile("586190",Pattern.CASE_INSENSITIVE);
                BasicDBObject query 
= new BasicDBObject("url", john); // finds all people with "name" matching /joh?n/i DBCursor cursor = collection.find(query);
                DBCursor ite = col.find(query);





瑗跨摐 2010-12-21 17:48 鍙戣〃璇勮
]]>
mongodb鏌ヨ鐨勮娉?/title><link>http://m.tkk7.com/ashutc/archive/2010/12/21/341263.html</link><dc:creator>瑗跨摐</dc:creator><author>瑗跨摐</author><pubDate>Tue, 21 Dec 2010 09:47:00 GMT</pubDate><guid>http://m.tkk7.com/ashutc/archive/2010/12/21/341263.html</guid><wfw:comment>http://m.tkk7.com/ashutc/comments/341263.html</wfw:comment><comments>http://m.tkk7.com/ashutc/archive/2010/12/21/341263.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/ashutc/comments/commentRss/341263.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/ashutc/services/trackbacks/341263.html</trackback:ping><description><![CDATA[<br /> <br /> <a target="_blank" >http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-ConditionalOperators%3A%3C%2C%3C%3D%2C%3E%2C%3E%3D</a><br /> <br /> 1 ) . 澶т簬錛屽皬浜庯紝澶т簬鎴栫瓑浜庯紝灝忎簬鎴栫瓑浜?br /> <br /> $gt:澶т簬<br /> $lt:灝忎簬<br /> $gte:澶т簬鎴栫瓑浜?br /> $lte:灝忎簬鎴栫瓑浜?br /> <br /> 渚嬪瓙錛?br /> <br /> <div id="yhulvrv" class="code panel" style="border-width: 1px;"> <div id="vrhjbtd" class="codeContent panelContent"> <pre class="code-java">db.collection.find({ <span id="pxjbnrd" class="code-quote">"field"</span> : { $gt: value } } ); <span id="emfjcvp" class="code-comment">// greater than : field > value<br /> </span>db.collection.find({ <span id="igsemgw" class="code-quote">"field"</span> : { $lt: value } } ); <span id="ljvslqn" class="code-comment">// less than : field < value<br /> </span>db.collection.find({ <span id="qdmffke" class="code-quote">"field"</span> : { $gte: value } } ); <span id="yslxmvx" class="code-comment">// greater than or equal to : field >= value<br /> </span>db.collection.find({ <span id="ivsefgg" class="code-quote">"field"</span> : { $lte: value } } ); <span id="aunvoey" class="code-comment">// less than or equal to : field <= value</span></pre> </div> </div> <p>濡傛煡璇澶т簬3,灝忎簬4:</p> <div id="hfjjglp" class="code panel" style="border-width: 1px;"> <div id="hyxfchm" class="codeContent panelContent"> <pre class="code-java">db.things.find({j : {$lt: 3}});<br /> db.things.find({j : {$gte: 4}});</pre> </div> </div> <p>涔熷彲浠ュ悎騫跺湪涓鏉¤鍙ュ唴:</p> <div id="vibjvaf" class="code panel" style="border-width: 1px;"> <div id="ljvksij" class="codeContent panelContent"> <pre class="code-java">db.collection.find({ <span id="irolecz" class="code-quote">"field"</span> : { $gt: value1, $lt: value2 } } ); <span id="gebyghx" class="code-comment">// value1 < field < value</span></pre> </div> </div> <p> </p> <p> </p> <p>2) 涓嶇瓑浜?$ne</p> <p>渚嬪瓙錛?/p> <div style="border-width: 1px;" class="code panel"> <div id="eyrvoeu" class="codeContent panelContent"> <pre class="code-java">db.things.find( { x : { $ne : 3 } } );</pre> </div> </div> <p> </p> <p> </p> <br /> <br /> 3) in 鍜?not in ($in $nin)<br /> <br /> 璇硶錛?br /> <div style="border-width: 1px;" class="code panel"> <div id="jlttigh" class="codeContent panelContent"> <pre class="code-java">db.collection.find( { <span id="tckosmr" class="code-quote">"field"</span> : { $in : array } } );</pre> </div> </div> <p>渚嬪瓙錛?/p> <div style="border-width: 1px;" class="code panel"> <div id="usambgw" class="codeContent panelContent"> <pre class="code-java">db.things.find({j:{$in: [2,4,6]}});</pre> </div> </div> <br /> <div style="border-width: 1px;" class="code panel"> <div id="xgzltqr" class="codeContent panelContent"> <pre class="code-java">db.things.find({j:{$nin: [2,4,6]}});</pre> </div> </div> <br /> <br /> <br /> 4) 鍙栨ā榪愮畻$mod<br /> <br /> 濡備笅闈㈢殑榪愮畻錛?br /> <div style="border-width: 1px;" class="code panel"> <div id="qvzpgwm" class="codeContent panelContent"> <pre class="code-java">db.things.find( <span id="lykrzpj" class="code-quote">"<span id="wbfcvlq" class="code-keyword">this</span>.a % 10 == 1"</span>)</pre> </div> </div> <p>鍙敤$mod浠f浛錛?/p> <div style="border-width: 1px;" class="code panel"> <div id="eczheqg" class="codeContent panelContent"> <pre class="code-java">db.things.find( { a : { $mod : [ 10 , 1 ] } } )</pre> </div> </div> <br /> <br /> <br /> 5)  $all<br /> <br /> $all鍜?in綾諱技錛屼絾鏄粬闇瑕佸尮閰嶆潯浠跺唴鎵鏈夌殑鍊鹼細(xì)<br /> <br /> 濡傛湁涓涓璞★細(xì)<br /> <br /> <div style="border-width: 1px;" class="code panel"> <div id="mgowtjo" class="codeContent panelContent"> <pre class="code-java">{ a: [ 1, 2, 3 ] }</pre> </div> </div> <p>涓嬮潰榪欎釜鏉′歡鏄彲浠ュ尮閰嶇殑錛?/p> <div style="border-width: 1px;" class="code panel"> <div id="wjgoaqv" class="codeContent panelContent"> <pre class="code-java">db.things.find( { a: { $all: [ 2, 3 ] } } );</pre> </div> </div> <p>浣嗘槸涓嬮潰榪欎釜鏉′歡灝變笉琛屼簡錛?/p> <div style="border-width: 1px;" class="code panel"> <div id="icvheno" class="codeContent panelContent"> <pre class="code-java">db.things.find( { a: { $all: [ 2, 3, 4 ] } } );</pre> </div> </div> <br /> <br /> 6)  $size<br /> <br /> $size鏄尮閰嶆暟緇勫唴鐨勫厓绱犳暟閲忕殑錛屽鏈変竴涓璞★細(xì){<tt>a:["foo"]</tt>}錛屼粬鍙湁涓涓厓绱狅細(xì)<br /> <br /> 涓嬮潰鐨勮鍙ュ氨鍙互鍖歸厤錛? <div style="border-width: 1px;" class="code panel"> <div id="pjckdiy" class="codeContent panelContent"> <pre class="code-java">db.things.find( { a : { $size: 1 } } );</pre> </div> </div> <p>瀹樼綉涓婅涓嶈兘鐢ㄦ潵鍖歸厤涓涓寖鍥村唴鐨勫厓绱狅紝濡傛灉鎯蟲壘$size<5涔嬬被鐨勶紝浠栦滑寤鴻鍒涘緩涓涓瓧孌墊潵淇濆瓨鍏冪礌鐨勬暟閲忋?/p> <p>You cannot use <tt>$size</tt> to find a range of sizes (for example: arrays with more than 1 element). If you need to query for a range, create an extra <tt>size</tt> field that you increment when you add elements.</p> <p> </p> <p>7錛?exists</p> <p>$exists鐢ㄦ潵鍒ゆ柇涓涓厓绱犳槸鍚﹀瓨鍦細(xì)</p> <p>濡傦細(xì)</p> <div style="border-width: 1px;" class="code panel"> <div id="cepxfgs" class="codeContent panelContent"> <pre class="code-java">db.things.find( { a : { $exists : <span id="sqyroau" class="code-keyword">true</span> } } ); <span id="sfyckpy" class="code-comment">// <span id="lnrhaqz" class="code-keyword">濡傛灉瀛樺湪</span></span><span id="ztburhi" class="code-comment"><span id="smujnsx" class="code-keyword">鍏冪礌</span></span><span id="nweibrh" class="code-comment"><span id="zpiqnst" class="code-keyword">a,灝辮繑鍥?/span><br /> </span>db.things.find( { a : { $exists : <span id="caxbjdt" class="code-keyword">false</span> } } ); <span id="lmjgsmy" class="code-comment">// <span id="reexudp" class="code-keyword">濡傛灉涓嶅瓨鍦ㄥ厓绱燼錛屽氨榪斿洖</span></span></pre> </div> </div> <br /> <br /> 8)  $type<br /> <br /> <p><tt>$type</tt> 鍩轟簬 <a >bson</a> type鏉ュ尮閰嶄竴涓厓绱犵殑綾誨瀷錛屽儚鏄寜鐓х被鍨婭D鏉ュ尮閰嶏紝涓嶈繃鎴戞病鎵懼埌bson綾誨瀷鍜宨d瀵圭収琛ㄣ?/p> <div style="border-width: 1px;" class="code panel"> <div id="caiqczi" class="codeContent panelContent"> <pre class="code-java">db.things.find( { a : { $type : 2 } } ); <span id="rtquykl" class="code-comment">// matches <span id="mvwmefg" class="code-keyword">if</span> a is a string<br /> </span>db.things.find( { a : { $type : 16 } } ); <span id="qvdpxzk" class="code-comment">// matches <span id="zptbqmv" class="code-keyword">if</span> a is an <span id="yhlxjza" class="code-object">int</span></span></pre> </div> </div> <br /> 9錛夋鍒欒〃杈懼紡<br /> <br /> mongo鏀寔姝e垯琛ㄨ揪寮忥紝濡傦細(xì)<br /> <br /> <div style="border-width: 1px;" class="code panel"> <div id="hfrhlbr" class="codeContent panelContent"> <pre class="code-java">db.customers.find( { name : /acme.*corp/i } ); // 鍚庨潰鐨刬鐨勬剰鎬濇槸鍖哄垎澶у皬鍐?/pre> </div> </div> <br /> <br /> 10)  鏌ヨ鏁版嵁鍐呯殑鍊?br /> <br /> 涓嬮潰鐨勬煡璇㈡槸鏌ヨcolors鍐卹ed鐨勮褰曪紝濡傛灉colors鍏冪礌鏄竴涓暟鎹?鏁版嵁搴撳皢閬嶅巻榪欎釜鏁扮粍鐨勫厓绱犳潵鏌ヨ銆? <div style="border-width: 1px;" class="code panel"> <div id="dfnkomj" class="codeContent panelContent"> <pre class="code-java">db.things.find( { colors : <span id="tgohluk" class="code-quote">"red"</span> } );</pre> </div> </div> <br /> <br /> 11) $elemMatch<br /> <br /> 濡傛灉瀵硅薄鏈変竴涓厓绱犳槸鏁扮粍錛岄偅涔?elemMatch鍙互鍖歸厤鍐呮暟緇勫唴鐨勫厓绱狅細(xì)<br /> <br /> <div style="border-width: 1px;" class="code panel"> <div id="mkdhtjd" class="codeContent panelContent"> <pre class="code-java">> t.find( { x : { $elemMatch : { a : 1, b : { $gt : 1 } } } } ) <br /> { <span id="qgkzwfr" class="code-quote">"_id"</span> : ObjectId(<span id="yeeqyza" class="code-quote">"4b5783300334000000000aa9"</span>), <span id="wyvdhmv" class="code-quote"><br /> "x"</span> : [ { <span id="gexfrdx" class="code-quote">"a"</span> : 1, <span id="vemjvlb" class="code-quote">"b"</span> : 3 }, 7, { <span id="ywlpxrl" class="code-quote">"b"</span> : 99 }, { <span id="nlexqyg" class="code-quote">"a"</span> : 11 } ]<br /> }</pre> </div> </div> <pre class="code-java">$elemMatch : { a : 1, b : { $gt : 1 } } 鎵鏈夌殑鏉′歡閮借鍖歸厤涓婃墠琛屻?/pre> <p>娉ㄦ剰錛屼笂闈㈢殑璇彞鍜屼笅闈㈡槸涓嶄竴鏍風(fēng)殑銆?/p> <div style="border-width: 1px;" class="code panel"> <div id="dmffygp" class="codeContent panelContent"> <pre class="code-java">> t.find( { <span id="ktfrziu" class="code-quote">"x.a"</span> : 1, <span id="nemjchm" class="code-quote">"x.b"</span> : { $gt : 1 } } )</pre> </div> </div> <br /> $elemMatch鏄尮閰峽 <span id="tgohlqn" class="code-quote">"a"</span> : 1, <span id="mzhexrh" class="code-quote">"b"</span> : 3 }錛岃屽悗闈竴鍙ユ槸鍖歸厤{ <span id="tnksajo" class="code-quote">"b"</span> : 99 }, { <span id="huygsxr" class="code-quote">"a"</span> : 11 } <br /> <br /> <br /> 12)  鏌ヨ宓屽叆瀵硅薄鐨勫?br /> <br /> <div style="border-width: 1px;" class="code panel"> <div id="fzwtqvw" class="codeContent panelContent"> <pre class="code-java">db.postings.find( { <span id="eynvsbz" class="code-quote">"author.name"</span> : <span id="gaexbvk" class="code-quote">"joe"</span> } );</pre> </div> </div> <p>娉ㄦ剰鐢ㄦ硶鏄?span class="code-quote">author.name</span>錛岀敤涓涓偣灝辮浜嗐傛洿璇︾粏鐨勫彲浠ョ湅榪欎釜閾炬帴錛?<a title="Dot Notation (Reaching into Objects)" >dot notation</a></p> <p>涓句釜渚嬪瓙錛?/p> <div id="jptfcst" class="code panel" style="border-width: 1px;"> <div id="dbyroty" class="codeContent panelContent"> <pre class="code-java">> db.blog.save({ title : <span id="uosaxyh" class="code-quote">"My First Post"</span>, author: {name : <span id="tvhpxrw" class="code-quote">"Jane"</span>, id : 1}})</pre> </div> </div> <p>濡傛灉鎴戜滑瑕佹煡璇?authors name 鏄疛ane鐨? 鎴戜滑鍙互榪欐牱錛?/p> <div id="sfcvhqo" class="code panel" style="border-width: 1px;"> <div id="pmvspqz" class="codeContent panelContent"> <pre class="code-java">> db.blog.findOne({<span id="xkhtxgl" class="code-quote">"author.name"</span> : <span id="lbugksl" class="code-quote">"Jane"</span>})</pre> </div> </div> <p>濡傛灉涓嶇敤鐐癸紝閭e氨闇瑕佺敤涓嬮潰榪欏彞鎵嶈兘鍖歸厤錛?/p> <div id="npttqzt" class="code panel" style="border-width: 1px;"> <div id="zbbfcde" class="codeContent panelContent"> <pre class="code-java">db.blog.findOne({<span id="jswxfka" class="code-quote">"author"</span> : {<span id="yhltiyk" class="code-quote">"name"</span> : <span id="qoolxyo" class="code-quote">"Jane"</span>, <span id="smyvoxu" class="code-quote">"id"</span> : 1}})</pre> </div> </div> <p>涓嬮潰榪欏彞錛?/p> <div id="tkshwxu" class="code panel" style="border-width: 1px;"> <div id="wjnkdic" class="codeContent panelContent"> <pre class="code-java">db.blog.findOne({<span id="gtpmfch" class="code-quote">"author"</span> : {<span id="eyrkkab" class="code-quote">"name"</span> : <span id="zxucgam" class="code-quote">"Jane"</span>}})</pre> </div> </div> <p>鏄笉鑳藉尮閰嶇殑錛屽洜涓簃ongodb瀵逛簬瀛愬璞★紝浠栨槸綺劇‘鍖歸厤銆?/p> <p> </p> <p>13) 鍏冩搷浣滅 $not 鍙栧弽</p> <p>濡傦細(xì)</p> <div id="qowtmra" class="code panel" style="border-width: 1px;"> <div id="prkswxj" class="codeContent panelContent"> <pre class="code-java">db.customers.find( { name : { $not : /acme.*corp/i } } );</pre> </div> </div> <div id="ajvhcqk" class="code panel" style="border-width: 1px;"> <div id="bkodluv" class="codeContent panelContent"> <pre class="code-java">db.things.find( { a : { $not : { $mod : [ 10 , 1 ] } } } );</pre> </div> </div> <h3> </h3> mongodb榪樻湁寰堝鍑芥暟鍙互鐢紝<tt>濡傛帓搴忥紝緇熻絳夛紝璇峰弬鑰冨師鏂囥?br /> <br /> mongodb鐩墠娌℃湁鎴?or)鎿嶄綔絎︼紝鍙兘鐢ㄥ彉閫氱殑鍔炴硶浠f浛錛屽彲浠ュ弬鑰冧笅闈㈢殑閾炬帴錛?br /> <br /> <a target="_blank">http://www.mongodb.org/display/DOCS/OR+operations+in+query+expressions</a></tt><br /> <br /> <br /> <br /> <img src ="http://m.tkk7.com/ashutc/aggbug/341263.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/ashutc/" target="_blank">瑗跨摐</a> 2010-12-21 17:47 <a href="http://m.tkk7.com/ashutc/archive/2010/12/21/341263.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>mongodb pythonhttp://m.tkk7.com/ashutc/archive/2010/12/20/341163.html瑗跨摐瑗跨摐Mon, 20 Dec 2010 06:32:00 GMThttp://m.tkk7.com/ashutc/archive/2010/12/20/341163.htmlhttp://m.tkk7.com/ashutc/comments/341163.htmlhttp://m.tkk7.com/ashutc/archive/2010/12/20/341163.html#Feedback0http://m.tkk7.com/ashutc/comments/commentRss/341163.htmlhttp://m.tkk7.com/ashutc/services/trackbacks/341163.htmlhttp://www.mongodb.org 涓嬭澆mongodb鐗堟湰

瀹夎pymongo妯″潡銆?a target="_blank">http://api.mongodb.org/python/
鎸夌収鐗堟湰瀹夎鐩稿簲妯″潡銆傝嚜鍔ㄩ粯璁ゅ埌python瀹夎鐩綍
#coding=utf-8

from pymongo import Connection

conn
= Connection("localhost")

db
= conn.foo

test
= {"id":1, "novle":"嫻嬭瘯涓涓?/span>"}

db.foo.save(test)

cursor
= db.foo.find()

for i in cursor:

print i

铏界劧鎶ラ敊錛屼笉褰卞搷鎵ц

out

 

{u'_id': ObjectId('4bc193c11724bc0cc4000000'), u'id': 1, u'novle': u'\ufffd\ufffd\ufffd\ufffd'}


 

OK 嫻嬭瘯鎴愬姛

 

涓嬫  灝辨槸璁?鎬庝箞鍦―JANGO閲岄潰 浣跨敤mongodb浜?/p>







瑗跨摐 2010-12-20 14:32 鍙戣〃璇勮
]]>
MongoDB鍏ラ棬綆浠?/title><link>http://m.tkk7.com/ashutc/archive/2010/12/20/341161.html</link><dc:creator>瑗跨摐</dc:creator><author>瑗跨摐</author><pubDate>Mon, 20 Dec 2010 06:28:00 GMT</pubDate><guid>http://m.tkk7.com/ashutc/archive/2010/12/20/341161.html</guid><wfw:comment>http://m.tkk7.com/ashutc/comments/341161.html</wfw:comment><comments>http://m.tkk7.com/ashutc/archive/2010/12/20/341161.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/ashutc/comments/commentRss/341161.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/ashutc/services/trackbacks/341161.html</trackback:ping><description><![CDATA[<br /> <p>MongoDB鎶婃暟鎹瓨鍌ㄥ湪鏂囦歡涓紙榛樿璺緞涓猴細(xì)/data/db錛夛紝涓烘彁楂樻晥鐜囦嬌鐢ㄥ唴瀛樻槧灝勬枃浠惰繘琛岀鐞嗐?/p> <p>瀹夎錛?br /> Linux/OS X涓?<br /> 1 寤虹珛鏁版嵁鐩綍<br />  mkdir -p /data/db<br /> 2 涓嬭澆鍘嬬緝鍖?br />  curl -O <a >http://downloads.mongodb.org/linux/mongodb-linux-i686-latest.tgz</a><br /> 3 瑙e帇緙╂枃浠?br />  tar xzf mongodb-linux-i386-latest.tgz<br /> 4 鍚姩鏈嶅姟<br />  bin/mongod run &<br /> 5 浣跨敤鑷甫瀹㈡埛绔繛鎺?br />  /bin/mongo<br /> 6 嫻嬭瘯<br />  db.foo.save( { a : 1 } )<br />  db.foo.findOne()</p> <p>windows涓嬶細(xì)<br /> 1 寤虹珛鏁版嵁鐩綍c:\data\db<br /> 2 涓嬭澆鍘嬬緝鍖咃紝瑙e帇鏂囦歡<br /> 3 鍚姩鏈嶅姟<br />  bin\mongod.exe run<br /> 4 鑷甫瀹㈡埛绔?br />  bin\mongon.exe</p> <p>鍦↙INUX鍜學(xué)INDOWS緋葷粺涓嬬殑浣跨敤澶у悓灝忓紓錛屼笉鍚岀殑鍦版柟涓昏鏄粯璁ょ殑鏁版嵁瀛樺偍鐩綍銆侺INUX綾葷郴緇熶笅瀛樻斁鍦?data/db涓嬶紝鑰學(xué)INDOWS</p> <p>浼?xì)瀛樻攽譁–:\data\db涓嬨傚彲浠ュ湪鍚姩鏃朵嬌鐢?-dbpath鍙傛暟鎸囧畾瀛樺偍鐩綍騫跺惎鍔ㄣ傚錛歜in\mongod.exe --dbpath d:\data\mongo</p> <p>甯哥敤鍚姩鍙傛暟錛?br /> run 鐩存帴鍚姩銆備緥錛?/mongod run<br /> --dbpath 鎸囧畾鐗瑰畾瀛樺偍鐩綍鍚姩錛岃嫢鐩綍涓嶅瓨鍦ㄥ垯鍒涘緩銆備緥錛?/mongod --dbpath /var/data/mongo<br /> --port 鎸囧畾绔彛鍚姩銆備緥錛?/mongod --port 12345</p> <p>鍋滄MONGO鏈嶅姟錛?br /> 鏂規(guī)硶1錛氭湇鍔$鍋滄錛屽彲浣跨敤Ctrl+C<br /> 鏂規(guī)硶2錛氬湪瀹㈡埛绔仠姝紝鍙厛榪炴帴瀹㈡埛绔?br />  ./mongo<br />  騫朵嬌鐢ㄥ懡浠?br />  db.shutdownerver()<br />  鐒跺悗閫鍑哄鎴風(fēng)<br />  exit</p> <p>浣跨敤JAVA璇█鎿嶄綔MONGODB闈炲父綆鍗曪紝鍙灝嗛┍鍔ㄦ枃浠跺姞鍏ュ埌CLASSPATH涓氨鍙互浣跨敤銆?/p> <p>1 寤虹珛榪炴帴<br />   瑕佸緩绔婱ongoDB鐨勮繛鎺ワ紝浣犲彧瑕佹寚瀹氳榪炴帴鍒扮殑鏁版嵁搴撳氨鍙互銆傝繖涓暟鎹簱涓嶄竴瀹氬瓨鍦紝濡傛灉涓嶅瓨鍦紝MongoDB浼?xì)鍏堜皋Z綘寤虹珛榪欎釜</p> <p>搴撱傚悓鏃訛紝鍦ㄨ繛鎺ユ椂浣犱篃鍙互鍏蜂綋鎸囧畾瑕佽繛鎺ュ埌鐨勭綉緇滃湴鍧鍜岀鍙c備笅闈㈢殑鏄繛鎺ユ湰鏈烘暟鎹簱鐨勪竴浜涗緥瀛愶細(xì)</p> <p>import com.mongodb.Mongo;<br /> import com.mongodb.DBCollection;<br /> import com.mongodb.BasicDBObject;<br /> import com.mongodb.DBObject;<br /> import com.mongodb.DBCursor;<br /> import com.mongodb.MongoAdmin;</p> <p>Mongo db = new Mongo("mydb");<br /> Mongo db = new Mongo("localhost", "mydb");<br /> Mongo db = new Mongo("localhost", 27017, "mydb");</p> <p>2 瀹夊叏楠岃瘉錛堥潪蹇呴夛級(jí)<br /> MongoDB鏈嶅姟鍙互鍦ㄥ畨鍏ㄦā寮忚繍琛岋紝姝ゆ椂浠諱綍瀹㈡埛绔榪炴帴鏁版嵁搴撴椂闇浣跨敤鐢ㄦ埛鍚嶅拰瀵嗙爜銆傚湪JAVA涓彲浣跨敤濡備笅鏂規(guī)硶榪炴帴錛?/p> <p>boolean auth = db.authenticate(userName, password);</p> <p>濡傛灉鐢ㄦ埛鍚嶅瘑鐮侀獙璇侀氳繃錛岃繑鍥炲間負(fù)true錛屽惁鍒欎負(fù)false</p> <p>3 鑾峰彇闆嗗悎鍒楄〃<br /> 姣忎釜鏁版嵁搴撻兘瀛樺湪闆朵釜鎴栧涓泦鍚堬紝闇瑕佹椂浣犲彲浠ヨ幏寰椾粬浠殑鍒楄〃錛?/p> <p>Set<String> colls = db.getCollectionNames();<br /> for(String s : colls){<br />  System.out.println(s);<br /> }</p> <p>4 鑾峰緱涓涓泦鍚?br /> 瑕佽幏寰楁煇涓壒瀹氶泦鍚堬紝浣犲彲浠ユ寚瀹氶泦鍚堢殑鍚嶅瓧錛屽茍浣跨敤getCollection()鏂規(guī)硶錛?/p> <p>DBCollection coll = db.getCollection("testCollection");</p> <p>褰撲綘鑾峰彇浜嗚繖涓泦鍚堝璞★紝浣犲氨鍙互瀵規(guī)暟鎹繘琛屽鍒犳煡鏀逛箣綾葷殑鎿嶄綔銆?/p> <p>5 鎻掑叆鏂囨。<br /> 褰撲綘鑾峰緱浜嗕竴涓泦鍚堝璞★紝浣犲氨鍙互鎶婃枃妗f彃鍏ュ埌榪欎釜瀵硅薄涓備緥濡傦紝瀛樺湪涓涓狫SON寮忕殑灝忔枃妗o細(xì)<br /> {<br />  "name" : "MongoDB",<br />  "type" : "database",<br />  "count" : 1,<br />  "info" : {<br />    x : 203,<br />    y : 102<br />   }<br /> }<br /> 璇鋒敞鎰忥紝榪欎釜鏂囨。鍖呭惈涓涓唴閮ㄦ枃妗c傛垜浠彲浠ヤ嬌鐢˙asicDBObject綾繪潵鍒涘緩榪欎釜鏂囨。錛屽茍涓斾嬌鐢╥nsert()鏂規(guī)硶鏂逛究鍦板皢瀹冩彃鍏ュ埌闆?/p> <p>鍚堜腑銆?/p> <p>BasicDBObject doc = new BasicDBObject();<br /> doc.put("name", "MongoDB");<br /> doc.put("type", "database");<br /> doc.put("count", 1);</p> <p>BasicDBObject info = new BasicDBObject();<br /> info.put("x", 203);<br /> info.put("y", 102);</p> <p>doc.put("info", info);</p> <p>coll.insert(doc);</p> <p>6 浣跨敤findOne()鏌ユ壘闆嗗悎涓涓涓枃妗?br /> 瑕佹煡鎵炬垜浠笂涓姝ユ彃鍏ョ殑閭d釜鏂囨。錛屽彲浠ョ畝鍗曞湴浣跨敤findOne()鎿嶄綔鏉ヨ幏鍙栭泦鍚堜腑絎竴涓枃妗c傝繖涓柟娉曡繑鍥炰竴涓崟涓鏂囨。錛堣繖鏄浉瀵逛簬浣跨敤DBCursor鐨刦ind()鎿嶄綔鐨勮繑鍥烇級(jí)錛岃繖瀵逛簬鍙湁涓涓枃妗f垨鎴戜滑鍒氭彃鍏ョ涓涓枃妗f椂寰堟湁鐢紝鍥犱負(fù)姝ゆ椂騫朵笉闇瑕佷嬌鐢ㄥ厜鏍囥?/p> <p>DBObject myDoc = coll.findOne();<br /> System.out.println(myDoc);</p> <p>榪斿洖綾諱技錛?br /> {<br />  "_id" : "ac907a1f5b9d5e4a233ed300" ,<br />  "name" : "MongoDB" ,<br />  "type" : 1 , <br />  "info" : { <br />   "x" : 203 ,<br />   "y" : 102} , <br />  "_ns" : "testCollection"<br /> }</p> <p>娉ㄦ剰_id鍜宊ns鍏冪礌鏄敱MongoDB鑷姩鍔犲叆浣犵殑鏂囨。銆傝浣忥細(xì)MongoDB鍐呴儴瀛樺偍浣跨敤鐨勫厓绱犲悕鏄互“_”鍋氫負(fù)寮濮嬨?/p> <p>7 鍔犲叆澶氱鏂囨。<br /> 涓轟簡鍋氭洿澶氭湁瓚g殑鏌ヨ璇曢獙錛岃鎴戜滑鍚戦泦鍚堜腑鍔犲叆澶氱鏂囨。綾誨瀷錛岃薄錛?br /> {<br />  "i" : value<br /> }<br /> 鍙互閫氳繃寰幆鏉ュ疄鐜?/p> <p>for(int i = 0; i < 100; i++){<br />  coll.insert(new BasicDBObject().append("i", i));<br /> }</p> <p>娉ㄦ剰鎴戜滑鍙互鍦ㄤ竴涓泦鍚堜腑鎻掑叆涓嶅悓綾誨瀷鐨勬枃妗o紝榪欏氨鏄垜浠墍璇寸殑“妯″紡鑷敱”錛坰chema-free錛夈?/p> <p>8 緇熻鏂囨。鏁伴噺<br />  浣跨敤getCount()鏂規(guī)硶</p> <p>System.out.println(coll.getCount());</p> <p>9 浣跨敤鍏夋爣錛坈ursor錛夋潵鑾峰彇鍏ㄩ儴鏂囨。<br /> 涓轟簡鑾峰彇闆嗗悎涓殑鎵鏈夋枃妗o紝鎴戜滑鍙互浣跨敤find()鏂規(guī)硶銆傝繖涓柟娉曡繑鍥炰竴涓奃BCursor瀵硅薄錛屾潵鍏佽鎴戜滑灝嗙鍚堟煡璇㈡潯浠剁殑鏂囨。榪唬</p> <p>鍑烘潵銆?/p> <p>DBCursor cur = coll.find();<br /> while(cur.hasNext()){<br />  System.out.println(cur.next());<br /> }</p> <p>10 鍦ㄦ煡璇腑鑾峰彇鍗曚竴鏂囨。<br /> 鎴戜滑鍙互鍒涘緩涓涓煡璇紝騫朵紶閫掔粰find()鏂規(guī)硶鏉ヨ幏鍙栭泦鍚堜腑鎵鏈夋枃妗g殑涓涓瓙闆嗐備緥濡傦紝鎴戜滑鎯寵鏌ヨ鍩熷悕涓?i"錛屽茍涓斿間負(fù)71鐨勬枃妗o細(xì)</p> <p>BasicDBObject query = new BasicDBObject();<br /> query.put("i", 71);<br /> cur = coll.find(query);<br /> while(cur.hasNext()){<br />  System.out.println(cur.next());<br /> }</p> <p>11 浣跨敤鏉′歡鏌ヨ鑾峰彇闆嗗悎<br /> 渚嬪錛屾垜浠兂瑕佹煡璇㈡墍鏈塱>50鐨勬枃妗o細(xì)</p> <p>BasicDBObject query = new BasicDBObject();<br /> query.put("i", new BasicDBObject("$gt", 50));<br /> cur = coll.find(query);<br /> while(cur.hasNext()){<br />  System.out.println(cur.next());<br /> }</p> <p>褰撶劧錛屾垜浠篃鍙互鍋?0 < i <= 30鐨勬煡璇?/p> <p>BasicDBObject query = new BasicDBObject();<br /> query.put("i", new BasicDBObject("$gt", 20).append("$lte", 30));<br /> cur = coll.find(query);<br /> while(cur.hasNext()){<br />  System.out.println(cur.next());<br /> }</p> <p>12 鍒涘緩绱㈠紩<br /> MongoDB鏀寔绱㈠紩錛岃屼笖寰堝鏄撳湪闆嗗悎涓婂鍔犵儲(chǔ)寮曘傝鍒涘緩绱㈠紩錛屽彧闇瑕佹寚瀹氳鍔犵儲(chǔ)寮曠殑灞炴э紝騫朵笖鎸囧畾鍗囧簭錛?錛夋垨闄嶅簭鍗沖彲錛?1錛夈?/p> <p>coll.createIndex(new BasicDBObject("i", 1));</p> <p>13 鑾峰彇绱㈠紩鍒楄〃</p> <p>List<DBObject> list = coll.getIndexInfo();<br /> for(DBObject o : list){<br />  System.out.println(o);<br /> }</p> <p>14 MongoDB綆$悊鍑芥暟<br /> 綆$悊鍑芥暟鍦╟om.mongodb.MongoAdmin綾諱腑瀹氫箟銆?br /> 渚婣錛氳幏鍙栨暟鎹簱鍒楄〃<br />  MongoAdmin admin = new MongoAdmin();<br />  for(String s : admin.getDatabaseNames()){<br />   System.out.println(s);<br />  }</p> <p>渚婤錛氳幏鍙栨暟鎹簱瀵硅薄<br />  Mongo m = admin.getDB("mydb");</p> <p>渚婥錛氬垹闄ゆ暟鎹簱<br />  admin.dropDatabase("mydb");</p> <p>15 鐢―BObject瀛樺偍JAVA瀵硅薄<br /> MongoDB for JAVA椹卞姩涓彁渚涗簡鐢ㄤ簬鍚戞暟鎹簱涓瓨鍌ㄦ櫘閫氬璞$殑鎺ュ彛DBObject<br /> 渚嬪錛屽瓨鍦ㄤ竴涓渶瑕佸瓨鍌ㄧ殑瀵硅薄綾籘weet<br /> public class Tweet implements DBObject{<br />  /*...*/<br /> }<br /> 鍙互浣跨敤濡備笅浠g爜錛?/p> <p>Tweet myTweet = new Tweet();<br /> myTweet.put("user", userId);<br /> myTweet.put("message", message);<br /> myTweet.put("date", new Date());</p> <p>collection.insert(myTweet);</p> <p>褰撲竴涓枃妗d粠MongoDB涓彇鍑烘椂錛屽畠浼?xì)鑷姩鎶婃枃妗h浆鎹㈡垚DBObject鎺ュ彛綾誨瀷錛岃灝嗗畠瀹炰緥鍖栦負(fù)浣犵殑瀵硅薄錛岄渶浣跨敤</p> <p>DBCollection.setObjectClass()銆?br /> collection.setObjectClass(Tweet);<br /> Tweet myTweet = (Tweet)collection.findOne();</p> <p>16 JAVA椹卞姩鐨勫茍鍙戞?br /> JAVA鐨凪ongoDB椹卞姩鏄嚎紼嬪畨鍏ㄧ殑銆傚鏋滀綘灝嗗畠鐢ㄥ湪WEB鏈嶅姟涓紝鍙互鍒涘緩瀹冪殑涓涓崟渚嬶紝騫跺湪鎵鏈夎姹備腑浣跨敤瀹冦?/p> <p>鐒惰岋紝濡傛灉浣犻渶瑕佸湪涓涓細(xì)璇濓紙渚嬪HTTP璇鋒眰錛変腑淇濊瘉浜嬪姟涓鑷存э紝涔熻浣犱細(xì)甯屾湜鍦ㄨ繖涓細(xì)璇濅腑瀵歸┍鍔ㄤ嬌鐢ㄥ悓涓涓鍙c傝繖浠呬粎鍦?/p> <p>璇鋒眰閲忛潪甯稿ぇ鐨勭幆澧冧腑錛屼緥濡備綘緇忓父浼?xì)璇诲彇鍒氬啓鍏ョ殑鏁版嵁銆?br /> 涓轟簡榪欎竴鐐癸紝浣犻渶瑕佷嬌鐢ㄥ涓嬩唬鐮侊細(xì)<br /> Mongo m;<br /> m.restartStart();</p> <p>// code.........</p> <p>m.requestDone();</p> <p><br /> 浠ヤ笂浠嬬粛浜嗙畝鍗曠殑mongoDB浣跨敤錛屾洿澶氫俊鎭鏌ラ槄MongoDB API for Java銆?/p> <br /> <br /> <br /> <br /> <br /> <br /> <img src ="http://m.tkk7.com/ashutc/aggbug/341161.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/ashutc/" target="_blank">瑗跨摐</a> 2010-12-20 14:28 <a href="http://m.tkk7.com/ashutc/archive/2010/12/20/341161.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>MongoDb 鍛戒護(hù)http://m.tkk7.com/ashutc/archive/2010/12/20/341160.html瑗跨摐瑗跨摐Mon, 20 Dec 2010 06:25:00 GMThttp://m.tkk7.com/ashutc/archive/2010/12/20/341160.htmlhttp://m.tkk7.com/ashutc/comments/341160.htmlhttp://m.tkk7.com/ashutc/archive/2010/12/20/341160.html#Feedback0http://m.tkk7.com/ashutc/comments/commentRss/341160.htmlhttp://m.tkk7.com/ashutc/services/trackbacks/341160.html

CODE:

> show dbs
濡傛灉鎯蟲煡鐪嬪綋鍓嶈繛鎺ュ湪鍝釜鏁版嵁搴撲笅闈紝鍙互鐩存帴杈撳叆db

CODE:

> db
Admin
鎯沖垏鎹㈠埌test鏁版嵁搴撲笅闈?

CODE:

> use test
switched to db test
> db
Test
鎯蟲煡鐪媡est涓嬫湁鍝簺琛ㄦ垨鑰呭彨collection錛屽彲浠ヨ緭鍏?

CODE:

> show collections
system.indexes
user
鎯崇煡閬搈ongodb鏀寔鍝簺鍛戒護(hù)錛屽彲浠ョ洿鎺ヨ緭鍏elp

CODE:

> 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
濡傛灉鎯崇煡閬撳綋鍓嶆暟鎹簱鏀寔鍝簺鏂規(guī)硶錛?

CODE:

> db.help();
DB methods:
      db.addUser(username, password) 娣誨姞鏁版嵁搴撴巿鏉冪敤鎴?br />       db.auth(username, password)                璁塊棶璁よ瘉
      db.cloneDatabase(fromhost) 鍏嬮殕鏁版嵁搴?br />       db.commandHelp(name) returns the help for the command
      db.copyDatabase(fromdb, todb, fromhost)  澶嶅埗鏁版嵁搴?br />       db.createCollection(name, { size : ..., capped : ..., max : ... } ) 鍒涘緩琛?br />       db.currentOp() displays the current operation in the db
      db.dropDatabase()        鍒犻櫎褰撳墠鏁版嵁搴?br />       db.eval_r(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()   鎵撳嵃鍚勮〃鐨勭姸鎬佷俊鎭?br />       db.printReplicationInfo()        鎵撳嵃涓繪暟鎹簱鐨勫鍒剁姸鎬佷俊鎭?br />       db.printSlaveReplicationInfo()        鎵撳嵃浠庢暟鎹簱鐨勫鍒剁姸鎬佷俊鎭?br />       db.printShardingStatus()                鎵撳嵃鍒嗙墖鐘舵佷俊鎭?br />       db.removeUser(username) 鍒犻櫎鏁版嵁搴撶敤鎴?br />       db.repairDatabase() 淇鏁版嵁搴?br />       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
濡傛灉鎯崇煡閬撳綋鍓嶆暟鎹簱涓嬬殑琛ㄦ垨鑰呰〃collection鏀寔鍝簺鏂規(guī)硶錛屽彲浠ヤ嬌鐢ㄤ竴涓嬪懡浠ゅ錛?

CODE:

> db.user.help();  user涓鴻〃鍚?br /> DBCollection help
      db.foo.count()                緇熻琛ㄧ殑琛屾暟
      db.foo.dataSize()        緇熻琛ㄦ暟鎹殑澶у皬
      db.foo.distinct( key ) - eg. db.foo.distinct( 'x' )                鎸夌収緇欏畾鐨勬潯浠墮櫎閲?br />       db.foo.drop() drop the collection 鍒犻櫎琛?br />       db.foo.dropIndex(name)  鍒犻櫎鎸囧畾绱㈠紩
      db.foo.dropIndexes() 鍒犻櫎鎵鏈夌儲(chǔ)寮?br />       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 query filter. second parameter is optional set of fields to return. 鏍規(guī)嵁鏉′歡鏌ユ壘鏁版嵁
-----------------------
閫氳繃鏉′歡鏌ヨ錛?db.foo.find( { x : 77 } , { name : 1 , x : 1 } )
-----------------------------
      db.foo.find(...).count()
      db.foo.find(...).limit(n) 鏍規(guī)嵁鏉′歡鏌ユ壘鏁版嵁騫惰繑鍥炴寚瀹氳褰曟暟
      db.foo.find(...).skip(n)
      db.foo.find(...).sort(...) 鏌ユ壘鎺掑簭
      db.foo.findOne([query]) 鏍規(guī)嵁鏉′歡鏌ヨ鍙煡璇竴鏉℃暟鎹?br />       db.foo.getDB() get DB object associated with collection  榪斿洖琛ㄦ墍灞炵殑搴?br />       db.foo.getIndexes() 鏄劇ず琛ㄧ殑鎵鏈夌儲(chǔ)寮?br />       db.foo.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } ) 鏍規(guī)嵁鏉′歡鍒嗙粍
      db.foo.mapReduce( mapFunction , reduceFunction , <optional params> )
      db.foo.remove(query) 鏍規(guī)嵁鏉′歡鍒犻櫎鏁版嵁
      db.foo.renameCollection( newName ) renames the collection  閲嶅懡鍚嶈〃
      db.foo.save(obj) 淇濆瓨鏁版嵁
      db.foo.stats()  鏌ョ湅琛ㄧ殑鐘舵?br />       db.foo.storageSize() - includes free space allocated to this collection 鏌ヨ鍒嗛厤鍒拌〃絀洪棿澶у皬
      db.foo.totalIndexSize() - size in bytes of all the indexes 鏌ヨ鎵鏈夌儲(chǔ)寮曠殑澶у皬
      db.foo.totalSize() - storage allocated for all data and indexes 鏌ヨ琛ㄧ殑鎬誨ぇ灝?br />       db.foo.update(query, object[, upsert_bool]) 鏍規(guī)嵁鏉′歡鏇存柊鏁版嵁
      db.foo.validate() - SLOW 楠岃瘉琛ㄧ殑璇︾粏淇℃伅
      db.foo.getShardVersion() - only for use with sharding
Mongodb鐨勫浠藉伐鍏穖ongodump

濡傛灉鎯沖浠芥暟鎹簱test 濡傦細(xì)

CODE:

[falcon@www.fwphp.cn  ~/mongodb/bin]$ ./mongodump --help
options:
 --help                   produce help message
 -h [ --host ] arg        mongo host to connect to
 -d [ --db ] arg          database to use
 -c [ --collection ] arg  collection to use (some commands)
 -u [ --username ] arg    username
 -p [ --password ] arg    password
 --dbpath arg             directly access mongod data files in this path,
                         instead of connecting to a mongod instance
 -v [ --verbose ]         be more verbose (include multiple times for more
                         verbosity e.g. -vvvvv)
 -o [ --out ] arg (=dump) output directory
[falcon@www.fwphp.cn  ~/mongodb/bin]$ [color=Blue]./mongodump -d test -o test/[/color]
connected to: 127.0.0.1
DATABASE: test         to         test/test
      test.user to test/test/user.bson
               100000 objects
      test.system.indexes to test/test/system.indexes.bson
               1 objects
[falcon@www.fwphp.cn  ~/mongodb/bin]$ ls
   mongo   mongodump    mongofiles   mongorestore  mongosniff
dump  mongod  mongoexport  mongoimport  mongos     test
MongoDB鐨勬暟鎹仮澶嶅伐鍏穖ongorestore

鏌ョ湅test搴撲腑鐨勮〃

CODE:

> show collections
system.indexes
User
鍒犻櫎user琛?

CODE:

> db.user.drop();
True

> show collections
System.indexes
鐜板湪鍒╃敤mongorestore琛ㄦ仮澶嶅垰鎵嶅埄鐢╩ongodump澶囦喚鐨勬暟鎹?

CODE:

[falcon@www.fwphp.cn  ~/mongodb/bin]$ ./mongorestore --help
usage: ./mongorestore [options] [directory or filename to restore from]
options:
 --help                  produce help message
 -h [ --host ] arg       mongo host to connect to
 -d [ --db ] arg         database to use
 -c [ --collection ] arg collection to use (some commands)
 -u [ --username ] arg   username
 -p [ --password ] arg   password
 --dbpath arg            directly access mongod data files in this path,
                        instead of connecting to a mongod instance
 -v [ --verbose ]        be more verbose (include multiple times for more
                        verbosity e.g. -vvvvv)

[falcon@www.fwphp.cn  ~/mongodb/bin]$ ./mongorestore -d test -c user test/test/user.bson
connected to: 127.0.0.1
test/test/user.bson
       going into namespace [test.user]

       100000 objects
User琛ㄤ腑鐨?0w鏉¤褰曞凡緇忔仮澶?

CODE:

> show collections
system.indexes
user
> db.user.find();
{ "_id" : ObjectId("4b9c8db08ead0e3347000000"), "uid" : 1, "username" : "Falcon.C-1" }
{ "_id" : ObjectId("4b9c8db08ead0e3347010000"), "uid" : 2, "username" : "Falcon.C-2" }
{ "_id" : ObjectId("4b9c8db08ead0e3347020000"), "uid" : 3, "username" : "Falcon.C-3" }
{ "_id" : ObjectId("4b9c8db08ead0e3347030000"), "uid" : 4, "username" : "Falcon.C-4" }
{ "_id" : ObjectId("4b9c8db08ead0e3347040000"), "uid" : 5, "username" : "Falcon.C-5" }
.................
has more




   1. 瓚呯駭鐢ㄦ埛鐩稿叧錛?/span>

        
#澧炲姞鎴栦慨鏀圭敤鎴峰瘑鐮?br />
        
db.addUser('admin','pwd')

        
#鏌ョ湅鐢ㄦ埛鍒楄〃

        
db.system.users.find()

        
#鐢ㄦ埛璁よ瘉

        
db.auth('admin','pwd')

         
#鍒犻櫎鐢ㄦ埛

        
db.removeUser('mongodb')

        
#鏌ョ湅鎵鏈夌敤鎴?br />
        
show users

        
#鏌ョ湅鎵鏈夋暟鎹簱

        
show dbs

        
#鏌ョ湅鎵鏈夌殑collection

        
show collections

        
#鏌ョ湅鍚刢ollection鐨勭姸鎬?br />
        
db.printCollectionStats()

        
#鏌ョ湅涓諱粠澶嶅埗鐘舵?br />
        
db.printReplicationInfo()

        
#淇鏁版嵁搴?br />
        
db.repairDatabase()

        
#璁劇疆璁板綍profiling錛?/span>0=off 1=slow 2=all

        
db.setProfilingLevel(1)

        
#鏌ョ湅profiling

        
show profile

        
#鎷瘋礉鏁版嵁搴?br />
        
db.copyDatabase('mail_addr','mail_addr_tmp')

        
#鍒犻櫎collection

        
db.mail_addr.drop()

        
#鍒犻櫎褰撳墠鐨勬暟鎹簱

        
db.dropDatabase()

   
2. 瀹㈡埛绔繛鎺?br />
          
/usr/local/mongodb/bin/mongo user_addr -u user -'pwd'

   
3. 澧炲垹鏀?br />
        
  #瀛樺偍宓屽鐨勫璞?br />
         
db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]})

         
#瀛樺偍鏁扮粍瀵硅薄

         
db.user_addr.save({'Uid':'yushunzhi@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']})

         
#鏍規(guī)嵁query鏉′歡淇敼錛屽鏋滀笉瀛樺湪鍒欐彃鍏ワ紝鍏佽淇敼澶氭潯璁板綍

         
db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true)

         
#鍒犻櫎yy=5鐨勮褰?br />
         
db.foo.remove({'yy':5})

         
#鍒犻櫎鎵鏈夌殑璁板綍

        
db.foo.remove()

   
4. 绱㈠紩

         
澧炲姞绱㈠紩錛?/span>1(ascending),-1(descending)

         
db.things.ensureIndex({firstname: 1, lastname: 1}, {unique: true});

         
#绱㈠紩瀛愬璞?br />
         
db.user_addr.ensureIndex({'Al.Em'1})

         
#鏌ョ湅绱㈠紩淇℃伅

         
db.deliver_status.getIndexes()

         
db.deliver_status.getIndexKeys()

         
#鏍規(guī)嵁绱㈠紩鍚嶅垹闄ょ儲(chǔ)寮?br />
         
db.user_addr.dropIndex('Al.Em_1')

   
5. 鏌ヨ

         
鏌ユ壘鎵鏈?br />
         
db.foo.find()

         
#鏌ユ壘涓鏉¤褰?br />
         
db.foo.findOne()

         
#鏍規(guī)嵁鏉′歡媯(gè)绱?0鏉¤褰?br />
         
db.foo.find({'msg':'Hello 1'}).limit(10)

         
#sort鎺掑簭

         
db.deliver_status.find({'From':'yushunzhi@sohu.com'}).sort({'Dt',-1})

         
db.deliver_status.find().sort({'Ct':-1}).limit(1)

        
#count鎿嶄綔

        
db.user_addr.count()

        
#distinct鎿嶄綔

        
db.foo.distinct('msg')

        
#>鎿嶄綔

        
db.foo.find({"timestamp": {"$gte" : 2}})

        
#瀛愬璞$殑鏌ユ壘

        
db.foo.find({'address.city':'beijing'})

   
6. 綆$悊

         
鏌ョ湅collection鏁版嵁鐨勫ぇ灝?br />
         
db.deliver_status.dataSize()

         
#鏌ョ湅colleciont鐘舵?br />
         
db.deliver_status.stats()

         
#鏌ヨ鎵鏈夌儲(chǔ)寮曠殑澶у皬

         
db.deliver_status.totalIndexSize()
















瑗跨摐 2010-12-20 14:25 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 黄色a级片免费看| 亚洲最新永久在线观看| 亚洲毛片在线免费观看| 少妇性饥渴无码A区免费 | 亚洲精品理论电影在线观看| 亚洲精品在线播放| 亚洲人成影院在线| 亚洲成亚洲乱码一二三四区软件| 自拍偷自拍亚洲精品第1页| 亚洲区日韩区无码区| 久久亚洲高清综合| 亚洲综合伊人久久综合| 久久夜色精品国产噜噜亚洲AV| 亚洲精品中文字幕无乱码麻豆| 色偷偷亚洲女人天堂观看欧| 春暖花开亚洲性无区一区二区| 最新亚洲人成无码网站| 亚洲免费人成在线视频观看| 久久精品国产免费一区| 成熟女人特级毛片www免费| 免费看香港一级毛片| 国产又粗又猛又爽又黄的免费视频| 国产片免费在线观看| 亚洲国产第一站精品蜜芽| 亚洲av日韩av综合| 亚洲日产乱码一二三区别 | 亚洲高清中文字幕| 亚洲AV无码一区二区三区在线| 黄网站色视频免费看无下截| 免费无码中文字幕A级毛片| 成人免费在线看片| 天天看免费高清影视| 国产又大又长又粗又硬的免费视频| AV免费网址在线观看| 国产成人免费A在线视频| 亚洲成AV人片在线播放无码| 亚洲日本VA中文字幕久久道具| 国产午夜免费高清久久影院| 国产美女无遮挡免费视频 | 亚洲精品无码久久久久去q| 午夜亚洲www湿好大|