我有一个猫鼬模式class list_stuff:
A = 'a'
B = 'b'
C = 'c'
stufflist = [v for k,v in list_stuff.__dict__.items() if not k.startswith("__")]
:
inbox-model
当有关该电子邮件地址的新数据时,我需要为特定电子邮件添加var schema = mongoose.Schema({
email: String,
data: [{
from: String,
to: String,
msg: String
}]
})
var Inbox = module.exports = mongoose.model('Inbox',schema);
module.exports.addData = function(inbox, callBack){
inbox.save(callBack);
}
数组。
我可以通过这种方式添加数据,通过我的路由器调用:
data[]
虽然它不会添加到var Inbox = require('inbox-model');
var inbox = new Inbox({
email: 'some@email.com',
data:[{
from: 'from',
to: 'to',
msg: 'msg'
})
Inbox.addData(inbox, Inbox);
但会不断添加整个data[]
。
非常感谢帮助,我搜索了类似的问题,但我找不到添加数据,只是创建带有数组的模型。
答案 0 :(得分:0)
这个问题在StackOverflow上得到了很多回答。但是,我再次回答
// Schema File - userSchema.js
const userSchema = new Schema({
email: { type: String, required: true },
data: [{
from: String,
to: String,
msg: String
}]
})
const user = mongoose.model('user', userSchema)
module.exports = user
// Service File
const user = require('./userSchema')
function someFunction(email, from, to, message) {
user.findOne({ email: email }, function(err, document) {
if (document) {
document.data.push({
from: from,
to: to,
msg: message
})
document.save(function(err) {
err != null ? console.log(err) : console.log('Data updated')
})
}
})
}