我试图找出如何在不是索引的字段上强制执行唯一性。
我在这里看到过类似的问题,但提到使用dropDups: true的答案已被弃用。
在字段上强制执行唯一性的正确方法是什么?
const users = new Schema({
email: { type: String, required: true , unique: true},
...});
Run Code Online (Sandbox Code Playgroud) 我想将一些数据压缩成一个writableStream.
目的是在内存中完成所有操作,而不是在磁盘上创建实际的zip文件.
仅供测试,我在磁盘上创建一个ZIP文件.但是当我尝试打开时,output.zip我收到以下错误:"存档格式未知或已损坏".(Windows 7上的WinZip以及MAC上的类似错误)
我究竟做错了什么?
const fs = require('fs'),
archiver = require('archiver'),
streamBuffers = require('stream-buffers');
let outputStreamBuffer = new streamBuffers.WritableStreamBuffer({
initialSize: (1000 * 1024), // start at 1000 kilobytes.
incrementAmount: (1000 * 1024) // grow by 1000 kilobytes each time buffer overflows.
});
let archive = archiver('zip', {
zlib: { level: 9 } // Sets the compression level.
});
archive.pipe(outputStreamBuffer);
archive.append("this is a test", { name: "test.txt"});
archive.finalize();
outputStreamBuffer.end();
fs.writeFile('output.zip', outputStreamBuffer.getContents(), function() { console.log('done!'); });
Run Code Online (Sandbox Code Playgroud) 我想解析一封电子邮件并找到了 mailparser 包。(使用“npm install mailparser”安装它)。我正在使用 Windows 7。我正在尝试运行这个简单的示例,但没有调用“结束”事件,也没有看到任何日志。这是我运行的:
const MailParser = require("mailparser").MailParser;
const mailparser = new MailParser({debug: true});
let email = "From: 'Sender Name' <sender@example.com>\r\n"+
"To: 'Receiver Name' <receiver@example.com>\r\n"+
"Subject: Hello world!\r\n"+
"\r\n"+
"How are you today?";
// setup an event listener when the parsing finishes
mailparser.on("end", function(mail_object){
console.log("From:", mail_object.from); //[{address:'sender@example.com',name:'Sender Name'}]
console.log("Subject:", mail_object.subject); // Hello world!
console.log("Text body:", mail_object.text); // How are you today?
});
// send the email source to the parser
mailparser.write(email);
mailparser.end();Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢
我试图迭代 map 的整个键eventObj,包括其中的嵌套对象,并检查每个键和值以进行进一步的操作。
因此,如果我看到另一个嵌套映射,我也需要迭代它。
我尝试通过类型与map[string]interfaceor的比较来做到这一点map[string]interface{},但这似乎是一个语法错误。
我的问题是如何识别嵌套地图?
(请注意,我可以有多个嵌套地图)
func lookForEmailsInEvent(eventObj map[string]interface {}) {
for key, _ := range eventObj {
valueType := reflect.TypeOf(eventObj[key]).String()
fmt.Printf("%v : %v\n", key, valueType)
if valueType == map[string]interface {
lookForEmailsInEvent(eventObj[key])
} else if key == "email" {
// do something...
}
}
Run Code Online (Sandbox Code Playgroud)
}