Postata in: 'Recuperare un documento tramite il suo id in MongoDB'
Per trovare un documento facendo riferimeto al suo id su un database MongoDB devi scrivere cosìfind({"_id" => Mongo::ObjectId(params[:id])})
Per trovare un documento facendo riferimeto al suo id su un database MongoDB devi scrivere cosìfind({"_id" => Mongo::ObjectId(params[:id])})
Una volta scaricato ed estratto il file compresso contenente MongoDB, posizionalo sotto C:\Programs o altro path a te più congeniale, dopodiché esegui la shell di windows con i permessi di amministratore, spostati nella directory bin di Mongo e lancia mongo.exeSe a questo punto ricevi un errore di connessione, allora probabilmente man
Se invece vuoi ottenere tutti gli indici del tuo database MongoDB lancia questodb.system.indexes.find()sostituendo ovviamente il nome del tuo database.
Dalla shell di MongoDB lancia il seguente comando ed otterrai la lista degli indicidb.myCollection.getIndexes()
Io faccio così e funzionavar arrayOfFieldNames = [];var items = db.NameOfCollection.find();while(items.hasNext()) { var item = items.next(); for(var index in item) { arrayOfFieldNames[index] = index; }}for (var index in arrayOfFieldNames) { print(index);}
Prova se funziona questodoc=db.things.findOne(); for (key in doc) print(key);
Avendo già dichiarato la tabella, ti basta modificarla con ALTER specificando il valore di default per la colonna desiderata, in questo modo:ALTER TABLE Your_Table ALTER COLUMN Your_Column SET DEFAULT your_valueovviamente stai attento che il valore settato di default ed il tipo definito per quella colonna devono corrispondere.
Si certo che puoi, una chiave primaria (primary key) può essere definita su più campi (colonne) e la definizione è analoga a quella del vincolo unico, basta specificare l'elenco delle colonne per le quali desideri che sia soddisfatto il vincolo di univocità, ad esempio in questo modo:CREATE TABLE MyTable( col1 integer
La query scritta in questa maniera è normale che ti torni più di una riga, una sola dalla tabella A con id=196 e poi tutte le righe (records) della tabella B, probabilmente la logica e/o la relazione che vuoi esprimere attraverso queste due tabelle con questa query è sbagliata, tutt'alpiù avresti potuto scrivere cos&igra
Io credo che tutta la query sia sbagliata, letta così a mio avviso ha poco senso, probabilmente volevi fare un JOIN tra queste due tabelle, se questa era la tua intenzione avresti dovuto scrivere cosìSELECT TableA.id from TableAINNER JOIN TableB ON TableB.TableAID = TableA.ID WHERE TableA.ID = 196
Puoi andare in Pannello di Controllo -> Account Utenti -> Gestione Account e da li selezionare l'utente PostgreSQL e cambiargli la password con una nuova che ricorderai :)
Apri il prompt dei comandi di Windows con i permessi di amministratore e digita la seguente istruzione per cambiare la passwordNET USER postgres 'new_pw' Mi raccomando di farlo con i permessi di amministratore altrimenti non otterrai l'effetto voluto.
Per prima cosa disinstalli Postgres, poi vai in"Pannello di Controllo -> Strumenti di Amministrazione -> Gestione Computer"dopodichè sotto la voce "Local Users and Groups" individua l'utente Postgres e lo elimini ed infine reinstalli PostgreSQL e dovresti risolvere, fammi sapere, ciao.
La migliore risposta (soluzione) è quella che ti ha dato 'Caterina Stoletti', solo che fai attenzione che la CREATE TABLE IF NOT EXISTS funziona solo dalla versione di PostgreSQL 9.1 in poi, e puoi eseguirla anche in maniera indipendente dallo schema.
Puoi verificare il valore ritornato da una select sull'esistenza o meno della tabella per poi valutare se lanciare l'istruzione sql CREATE TABLE o meno, in questo modo-- schema independente:SELECT true FROM pg_tables WHERE tablename='my_table_name';-- schema dipendente:SELECT true FROM pg_tables WHERE tablename='my_table_name' AND schemaname='my_sc
Lancia la tua CREATE TABLE senza crearti grossi problemi, se questa non è presente nel database allora la tabella verrà creata, diversamente la tabella esistente non sarà modificata, inoltre puoi sempre verificare il valore ritornato dalla tua query SQL per vedere se la tabella esiste o meno quando esegui la CREATE TABLE
Devi utilizzare la condizione IF NOT EXISTS in questo modoCREATE TABLE IF NOT EXISTS mySchema.myTable( id integer ...)che ti creerà la tabella 'myTable' nello schema 'mySchema' solo se la tabella non esiste.
Ti basta lanciare la seguente interrogazione sqlSELECT * FROM pg_stat_activity;
Con ALTER puoi aggiungere un vincolo di unicità anche a due o più colonne, così:ALTER TABLE my_table ADD CONSTRAINT constraint_name UNIQUE (column1, column2);in questo modo sarà la combinazione delle due colonne a dover essere univoche, ad es. potresti avere una tabella documenti dove ne definisci il tito