sql >> Databasteknik >  >> NoSQL >> MongoDB

otillåten db-låstyp:-1

Jag skrev en enkel repro men hade inga problem att köra den.

public static void main(String[] args) throws UnknownHostException, MongoException {
    Mongo mongo = new Mongo();
    DB db = mongo.getDB("test");
    boolean auth = db.authenticate("scott", "scott".toCharArray());
    DBCollection coll = db.getCollection("myWords");
    DBObject dbObj = (DBObject) JSON.parse("{ \"_id\" : 1.0 , \"words\" : [ \"a\" , \"b\" , \"c\"] , \"score\" : 1.1 , \"data\" : \"foo\"}");
    coll.insert(dbObj);
    System.out.print(coll.findOne().toString());

    Morphia morphia = new Morphia();
    Datastore datastore = morphia.createDatastore(mongo, "test");
    Word w = datastore.find(Word.class).get();
    System.out.print(w);

}

@Entity("myWords")
static class Word {
    @Id Double id;
    ArrayList<String> words = new ArrayList<String>();
    Double score;
    String data;

    @Override
    public String toString() {
        return this.id.toString();
    }


}

Vilket resulterade i detta:

{ "_id" : 1.0 , "words" : [ "a" , "b" , "c"] , "score" : 1.1 , "data" : "foo"} 
...
1.0

Vilket verkar vara det rätta. Kan du köra den här koden, men ersätta din db/användare/lösenord?



  1. Spring Data Mongo verkar ignorera värd i XML-konfiguration

  2. MongoDB på Android

  3. Vad är syftet med kolon inom Redis-nycklar

  4. Finns det något sätt att skriva pyspark dataframe till azure cache för redis?