Mongodb 데이터베이스에서 반환 된 개체 컬렉션을 반환하고 반환 된 모델 수를 찾고 반복을 통해 반복하고 일부 DOM 요소를 만들 수 있습니다. 그. 나는 Backbone.View를 사용하지 않고 Famo.us를 사용할 것입니다.백본 컬렉션 반환 및 반복 -보기가 아닌
나는 컬렉션을 만들고 반환 얻을하지만 나는 내부 또는 데이터 모델에 액세스 할 수없는 것 - 당신이 :)
다음는 모델/컬렉션입니다 도움이 될 수 있다면 궁금 :
define(function (require, exports, module) {
'use strict';
var Backbone = require('backbone');
var Book = Backbone.Model.extend({
idAttribute: "_id"
});
var BookCollection = Backbone.Collection.extend({
model: Book,
url: "http://localhost:3000/api/books"
});
module.exports = BookCollection;
});
이
this._bookCollection = new BookCollection();
this._bookCollection.fetch({reset: true});
var _bookCollection = this._bookCollection;
console.log(_bookCollection);
console.log(_bookCollection.length);
'을 console.log (_bookCollection가)'에 비슷한 반환합니다 : 주요 파일에서
나는 사용하여 컬렉션을 인스턴스화
n {length: 0, models: Array[0], _byId: Object, constructor: function, model: function…}
_byId: Object
length: 250
models: Array[250]
[0 … 99]
[100 … 199]
[200 … 249]
length: 250
__proto__: Array[0]
__proto__: s
그래서 저는 250 개의 '모델'이 반환 될 것으로 기대하면서 뭔가를 반환한다는 것을 알고 있습니다. 실제로 배열이 아니기 때문에 _bookCollection.length를 수행 할 수 없습니다 (잘 작동하지 않습니다). 반환되는 항목을 반복 할 때 각 모델을 가져온 다음 해당 모델을 사용하여 어떻게 처리 할 수 있습니까? Famo.us를 사용하여 Backbone.View가 아닌 다른 것을 만들고 싶습니다.
감사
- 업데이트
"this._bookCollection.fetch가 ({추가 : TRUE});"후 브라우저는 내가 가지고 보여줍니다 당신이 그것을 확장하면
{length: 0, models: Array[0], _byId: Object, _events: Object, constructor: function…}_byId: Object_events: Objectlength: 250models: Array[250]__proto__: n
, 그것은 길이가 250이며 '모델'에서 (배열은 [250]) 나 [00로 분할, 찾고 있어요 데이터가 당신을 알려줍니다. .99], [100..199] 등
컬렉션을 잘못 검색합니까? 아니면보기를 만들지 않고 실제로 할 수 없습니까?
'동기화'에 대해 알려 주셔서 감사합니다. 한 번에 하나 이상의 속성을 선택하여 각 모델의 값을 얻을 수 있습니까? – Pandafinity
나는 당신이 원하는 것을 이해하는지 모르겠습니다. 예를 들어'Collection.toJSON'을 사용하여 모든 모델을 직렬화하거나 컬렉션 http : // backbonejs에서 프록시 된 Underscore 메서드를 사용할 수 있습니다.org/# Collection-Underscore-Methods – nikoshr
Collection.toJSON을 시도하면 빈 상태가됩니다. 내가 본 것으로 질문을 업데이트했습니다. – Pandafinity