- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 GridStore,并且我想存储一个 Id 具有多个键的文档。
我尝试过这个:
var gridStore = new GridStore(db, {uuid: uuid, format: fileName}, 'w');
// Open the file
gridStore.open(function (err, gridStore) {
// Write some data to the file
gridStore.write(data, function (err, gridStore) {
assert.equal(null, err);
// Close (Flushes the data to MongoDB)
gridStore.close(function (err, result) {
assert.equal(null, err);
// Verify that the file exists
GridStore.exist(db, {uuid: uuid, format: fileName},
function (err, result) {
assert.equal(null, err);
assert.equal(true, result);
});
});
});
});
但由于 assert.equal(true, result);
语句而失败。
如何使用 GridStore 存储具有多键 ID 的文档?
最佳答案
您应该向 GridStore 构造函数提供一个文件名,它将起作用:
var gridStore = new GridStore(db, {uuid: uuid, format: fileName}, 'foobar', 'w');
我挖掘了 GridStore source code在GitHub上找到了这段代码(仅显示相关部分):
if(typeof mode === 'undefined') {
mode = filename;
filename = undefined;
}
if(id instanceof ObjectID) {
this.referenceBy = REFERENCE_BY_ID;
this.fileId = id;
this.filename = filename;
} else if(typeof filename == 'undefined') {
this.referenceBy = REFERENCE_BY_FILENAME;
this.filename = id;
if (mode.indexOf('w') != null) {
this.fileId = new ObjectID();
}
} else {
this.referenceBy = REFERENCE_BY_ID;
this.fileId = id;
this.filename = filename;
}
基本上,如果您不提供 filename
选项,GridStore 将按文件名引用文档,并为 _id
字段创建一个新的 ObjectId。如果您提供文件名选项,_id
将是您指定的。
您还可以通过检查 fs.files
集合并检查文件的 _id
值来验证这一点。
关于node.js - 如何使用 GridStore 存储具有多键 ID 的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24227610/
我有这个错误信息: (node:11976) DeprecationWarning: GridStore is deprecated, and will be removed in a future
我正在使用 GridStore,并且我想存储一个 Id 具有多个键的文档。 我尝试过这个: var gridStore = new GridStore(db, {uuid: uuid, format:
Extjs 4.3.1我有一个正在加载 JavaScript 数组的网格。数组已填充,但加载页面时什么也没有出现。当您单击 Ext.toolbar 停靠栏中的刷新按钮时,将显示项目。 如何在页面呈现时
我收到以下错误。 基本配置如下: 我已将文件上传到服务器 我想下载它们但收到这些错误 我向/api/files/delete/${fileId} 调用了 POST 请求 哪个应该调用路由并将文件返回给
我是一名优秀的程序员,十分优秀!