Postata in: 'Convalidare Mongoose Mixed schema type'
Stai trattando "value" come un oggetto, senza prima aver verificato che esso lo sia realmente, prova ad effettuare un controllo prima di utilizzarlo, potresti scrivere così:if(typeof value !== "undefined" && value !== null){ return value.length > 0}
Postata in: 'Operatore Mod (resto) in MongoDB'
Non puoi usare l'operatore mod in una espressione come quella da te indicata, o utilizzi una condizione where o prima ti memorizzi il resto e poi lo confronti, quindi queste due strade:Usa una espressione where: { $where: "this.a % 4 >= 2" }Memorizza il risultato dell'espressione a % 4 in un campo, e poi utilizzi il valore (ovvero il resto) per
Postata in: 'Documento incorporato (embedded) e non incorporato (no-embedded) contemporaneamente'
Nel nostro progetto abbiamo avuto a che fare con una cosa simile. Quello che abbiamo fatto è stato definire i campi come un modulo. Un po' come quello mostrato qui di seguito:module SpecialFields extend ActiveSupport::Concern included do field :my_field, type: String field :my_other_field, type: String endendQuindi nella tua classe
Postata in: 'Eseguire mongodb come Servizio Windows'
Per una corretta installazione di MongoDB su Windows segui le informazioni che ti ho indicato nel link.E come suggeriscono in tanti per l'eseguibile mongod.exe bisogna specificare tutto il path:c:\mongo\mongod.exe --logpath "c:\mongo\logs\mongo.log" --logappend --dbpath "c:\mongo\data" --directoryperdb --installInfine ti ricordo che se stai utilizz
Postata in: 'Problemi connessione MongoDB con ASP.NET'
Quando riscontri questo tipo di errore di connessione probabilmente è dovuto al fatto che MongoDB punta alla directory di default del database, C:\data\db , devi cambiare il path della directory a cui punta con quello esatto in cui risiede la cartella dei tuoi dati. Cerca la "variabile" dbpath all'interno del file mongod.cfg e set
Postata in: 'Qual'è la differenza tra Replica-Pairs e Master-Master replication in MongoDB'
Con le coppie di repliche (Replica Pairs), solo un database alla volta è master, quindi è possibile scrivere solo un database per volta. Il secondo database sarà sempre uno slave, disponibile per il failover (o switchover) ossia servirà da rimpiazzo nel caso di guasto o malfunzionamento del principale.Con la replica Mast
Postata in: 'Quale database nosql usare con un'applicazione scritta in C?'
MongoDB funziona alla grande con il linguaggio C. C'è sia un driver C che un driver C++. Il database utilizza il driver C++ stesso per funzioni come la 'replication' (MongoDB è scritto in C++).
Postata in: 'Qual è la dimensione dell'hashed di MongoDB?'
Un ObjectId, il valore di default per il campo _id, è un valoredi di 12-byte; ma precisiamo bene che esso non è un hash né tantomeno una stringa; esso viene memorizzato semplicemente come valore binario. Diversi drivers lo mostreranno come una stringa hex (esadecimale), la quale può essere volendo anche stampata.Esso &eg
Postata in: 'Qual è la dimensione dell'hashed di MongoDB?'
MongoDB usa per gli hash un valore binario di 12-byte (un ObjectId), ed esso può essere convertito in una stringa esadecimale (hex) di 24 bit
Postata in: 'Come settare una chiave primaria (primary key) in MongoDB?'
E se vuoi specificare più campi come facenti parte tutti della tua primary key, puoi farlo andando a definire un oggetto per _id
Postata in: 'Equivalente operatore like in MongoDB'
Sostanzialmente devi usare le espressioni regolari anziché i caratteri wildcard, la sintassi generale èdb.users.find({'name': {'$regex': 'my_text'}})ricordo che nelle regular expression puoi usare anche i caratteri ^ e $ per indicare rispettivamente inizio e fine stringa, ad esempio così ti trova solo i nomi che iniziano per ar
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])})
Postata in: 'Ottenere la lista degli indici in MongoDB'
Se invece vuoi ottenere tutti gli indici del tuo database MongoDB lancia questodb.system.indexes.find()sostituendo ovviamente il nome del tuo database.
Postata in: 'Prelevare tutte le chiavi di una collection in MongoDB'
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);}
Postata in: 'Paginazione con MongoDB'
Come succede anche nei database relazionali per fare la paginazione dei 'records' devi avvalerti di due calusole che ti consentano uno di 'limitare' il numero di risultati ritornati e secondo di 'saltare' (slittare) ai successivi record non ancora selezionati. Ad esempio in MySql e Postgres si usano LIMIT ed OFFSET per la paginazione, e la stessa c
Postata in: 'Usare l'operatore booleano OR su due campi diversi in una query WHERE di MongoDB'
Forse non lo sai ma MongoDB supporta l'operatore booleano $OR, puoi scrivere la tua query in questo mododb.hotels.find( { $or: [ { name: /hilton/i }, { city: /london/i } ] } );
Postata in: 'Trovare documenti con una determinato valore in MongoDB'
Nel tuo caso devi necessariamente usare il metodo 'find_one', in questo modo:> db.collection.find_one({'res1': 10}) # Ritorna il documento il cui valore è 10
Postata in: 'Come aggiornare più documenti con un solo comando in MongoDB?'
Nelle versioni più rencenti esiste il comando updateMany, dalla shell (client) di MongoDB scrividb.Collection.updateMany({}, $set: {field1: 'field1', field2: 'field2'})come vedi in questo caso non c'è bisogno di passare il parametro 'multi', così l'istruzione di update multiplo dei documenti risulta ancora più pulita e l
Postata in: 'Rimuovere o Cancellare un campo da un documento MongoDB'
Per rimuovere o cancellare un campo in MongoDB devi scrivere la seguente istruzione: Per un singolo documento (record)db.getCollection('userData').update({}, {$unset: {words: 1}} Per tutti i documenti (records multipli)db.getCollection('userData').update({}, {$unset: {words: 1}}, {multi: true})