使用Mongoose将文档(记录)插入MongoDB有哪些不同的方法?
我目前的尝试:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var notificationsSchema = mongoose.Schema({
"datetime" : {
type: Date,
default: Date.now
},
"ownerId":{
type:String
},
"customerId" : {
type:String
},
"title" : {
type:String
},
"message" : {
type:String
}
});
var notifications = module.exports = mongoose.model('notifications', notificationsSchema);
module.exports.saveNotification = function(notificationObj, callback){
//notifications.insert(notificationObj); won't work
//notifications.save(notificationObj); won't work
notifications.create(notificationObj); //work but created duplicated document
}
知道为什么插入和保存在我的情况下不起作用吗?我尝试创建,它插入了2个文档而不是1个。这很奇怪。
的.save()
是该模型的一个实例方法中,当.create()
直接从被呼叫Model
作为一个方法调用,在本质上静态的,拍摄对象作为第一参数。
var mongoose = require('mongoose');
var notificationSchema = mongoose.Schema({
"datetime" : {
type: Date,
default: Date.now
},
"ownerId":{
type:String
},
"customerId" : {
type:String
},
"title" : {
type:String
},
"message" : {
type:String
}
});
var Notification = mongoose.model('Notification', notificationsSchema);
function saveNotification1(data) {
var notification = new Notification(data);
notification.save(function (err) {
if (err) return handleError(err);
// saved!
})
}
function saveNotification2(data) {
Notification.create(data, function (err, small) {
if (err) return handleError(err);
// saved!
})
}
将任何您想要的功能导出到外部。
有关Mongoose
Docs的
更多信息,或考虑阅读Model
Mongoose
中的原型参考。
问题内容: 我无法手动或自动在新保存的对象上填充创建者字段……我能找到的唯一方法是重新查询我已经想要做的对象。 这是设置: 这是我拉头发的地方 编辑:最新的猫鼬解决了此问题并添加了填充功能,请参见新的接受的答案。 问题答案: 您应该能够使用模型的填充函数来执行此操作:http : //mongoosejs.com/docs/api.html#model_Model.populate 在书籍的保存处
问题内容: 我有一个猫鼬模型: 我想找到一个模型实例,修改它的属性,然后保存更改。这是我尝试过的(这是错误的!): 查找,修改和保存模型实例的语法是什么? 问题答案: 为什么不使用Model.update?毕竟,除了更新其属性之外,您没有将找到的用户用于其他任何用途:
问题内容: 我已经编写了基本的python代码段,以首先在列表中插入值,然后反转它们。我发现insert和append方法之间的执行速度存在巨大差异。 片段1: 执行此操作所需的时间: 片段2: 执行时间: 我希望代码片段2的性能比snippet1好得多,因为我直接通过在前面插入数字来执行反向操作。但是所花费的时间却相反。我不明白为什么后一种方法需要更多时间来执行,即使该方法看起来更优雅。有人对此
问题内容: 我刚开始是猫鼬。我有一个带猫鼬的创建脚本,该脚本用示例数据创建模式和数据库。 现在,我编写实际的应用程序。每次我的应用程序运行时,我是否需要创建模式对象,或者它已经以某种方式可用? 换句话说,我是否需要在每个使用猫鼬访问数据库的应用程序中运行此代码,还是仅在第一次运行此代码: 如果我有设置器/验证器/等,答案将如何变化? 问题答案: 一个定义就是让应用程序理解如何将数据从MongoDB
问题内容: 我在很多论坛上都看到过并且仍然感到困惑。我们将从Spring 3.1和Hibernate 4开始一个新项目,并且需要确定将Spring应用于Hibernate的策略: 直接访问Hibernate 会话会话= HibernateUtil.getSessionFactory()。getCurrentSession(); session.beginTransaction(); 使用Hiber
我们希望将SolrCloud与单独的ZooKeeper实例一起使用,但需要一些建议。我们的情况是-多个集合,每个集合都有多个分片在Ubuntu 13、Solr 4.7.0、单独的ZooKeeper 3.4.5、AWS中的OpenJDK 7上运行 Jetty还是Tomcat?Jetty是内置的,需要更少的配置,但是除非指定“nohup”,否则当您退出运行SolrCloud的java命令或断开SSH会