Mongoose: Schema, Array, Standardwert (Standardwert "[]" funktioniert nicht)

Erstellt am 15. Feb. 2011  ·  6Kommentare  ·  Quelle: Automattic/mongoose

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

mongoose.connect('mongodb://localhost/dbTest');

var arrayTestSchema = new Schema({
    anArray: {
      type: Array,
      'default': []
    }
});

mongoose.model('ArrayTest', arrayTestSchema);
ArrayTest = mongoose.model('ArrayTest');

var myTest = new ArrayTest();
console.log(arrayTestSchema.anArray);

mongoose.connection.close();

zeigt "undefiniert" an

Hilfreichster Kommentar

Es schlägt fehl, weil Sie nicht auf Ihre Dokumentinstanz zugreifen. Ich habe Ihre console.log auskommentiert und durch die richtige ersetzt.

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

mongoose.connect('mongodb://localhost/dbTest');

var arrayTestSchema = new Schema({
    anArray: {
      type: Array,
      'default': []
    }
});

mongoose.model('ArrayTest', arrayTestSchema);
ArrayTest = mongoose.model('ArrayTest');

var myTest = new ArrayTest();
// console.log(arrayTestSchema.anArray);
console.log(myTest.anArray);

mongoose.connection.close();

Alle 6 Kommentare

Zumindest im Master funktioniert das gut für mich.. außer es gibt ein MongooseArray zurück, also ist es voller anderer Verrücktheiten :) Nicht nur der Wert.

Welche Version fährst du?

var Mungo = erfordern('Mungo');
var Schema = mongoose.Schema;

mongoose.connect('mongodb://localhost/dbTest');

var arrayTestSchema = neues Schema({

 Title: String,
 Description: String,
 Status: String

});

mongoose.model('ArrayTest', arrayTestSchema);
ArrayTest = mongoose.model('ArrayTest');

var myTest = new ArrayTest();

myTest.Title = 'Projekt';
myTest.Description = 'mongodb & node verwenden';
meinTest.Status = 'offen';

console.log(meinTest);

Mungo.connection.close();

Ich verwende 1.0.12, npm-Version.
Sollte die Master-Version sein, wie ich sehe, dass die 1.0.12 gestern veröffentlicht wurde.

Verstehe nicht, worauf du pradeepthundiyil hinweisen möchtest.

Es schlägt fehl, weil Sie nicht auf Ihre Dokumentinstanz zugreifen. Ich habe Ihre console.log auskommentiert und durch die richtige ersetzt.

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

mongoose.connect('mongodb://localhost/dbTest');

var arrayTestSchema = new Schema({
    anArray: {
      type: Array,
      'default': []
    }
});

mongoose.model('ArrayTest', arrayTestSchema);
ArrayTest = mongoose.model('ArrayTest');

var myTest = new ArrayTest();
// console.log(arrayTestSchema.anArray);
console.log(myTest.anArray);

mongoose.connection.close();

lol, ok ich verstehe, gestern war ein schlechter Tag für mich. Danke für den Hinweis =)

@bnoguchi was ist mit dem Typ der Array-Elemente?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen