这是我用来初始化我的CollectionFS的代码:
Uploads = new FS.Collection('uploads', {
stores: [new FS.Store.FileSystem('uploads', {path: '~/projectUploads'})]
});
这是我插入的CollectionFS文档,如Robomongo所示:
{
"_id" : "n3M8geaZXnNkZ7mHP",
"original" : {
"name" : "AguaBendita.jpg",
"updatedAt" : ISODate("2014-02-19T11:05:40.000Z"),
"size" : 73719,
"type" : "image/jpeg"
},
"uploadedAt" : ISODate("2015-04-04T09:24:49.433Z"),
"copies" : {
"uploads" : {
"name" : "AguaBendita.jpg",
"type" : "image/jpeg",
"size" : 73719,
"key" : "uploads-n3M8geaZXnNkZ7mHP-AguaBendita.jpg",
"updatedAt" : ISODate("2015-04-04T09:24:49.000Z"),
"createdAt" : ISODate("2015-04-04T09:24:49.000Z")
}
}
}
我知道find
或findOne
基于_id
的文档
e.g。
var testingfetchAgua = Uploads.find({_id: 'n3M8geaZXnNkZ7mHP'}).fetch();
或
var testingfetchAgua = Uploads.files.findOne({_id: 'n3M8geaZXnNkZ7mHP'}).fetch();
但是,根据" name"我不知道如何find
或findOne
该文档。 "原创"内的键/值键/值?
这在 CollectionFS中是否可行?
如何在 CollectionFS 查询中执行此操作?
如何在 MongoDB 查询中执行此操作?
MongoDB中的查询在 CollectionFS 中是否相同?
答案 0 :(得分:0)
有可能。
您使用点符号表示:var testingfetchAgua = Uploads.find({ 'original.name': 'AguaBendita.jpg' }).fetch();
AFAIK查询是相同的,因为CollectionFS使用MongoDB。
这里还有一个related question。这里是MongoDB docs,您可以在遇到此类问题时进行咨询。
编辑(扩展FS和Mongo的关系):
当您致电Uploads.files
时,您实际上获得了基础MongoDB集合。
FS.Collection提供了一个集合,可以存储有关文件的信息。它由底层的普通Mongo.Collection实例支持。 FS.Collection实例上提供了大多数集合方法,例如find和insert。如果需要调用其他集合方法(如_ensureIndex),可以直接在myFSCollection.files提供的基础Mongo.Collection实例上调用它们。