无法通过节点js脚本将文档数组插入mongodb中的数据库

时间:2016-03-09 22:13:02

标签: javascript node.js mongodb

我是节点js和mongodb的新手。只是测试一些想法,所以我试图创建一个web抓取器,将数据添加到mongodb中的数据库。我有一个连接到mongodb的脚本,并通过节点js脚本动态地将数据添加到数据库。我在控制台中运行此脚本,如下所示:'node scrapeData.js'脚本运行时没有任何错误,但是当我启动mongo shell并运行db.posts.find()时,我得到0条记录。我知道我的脚本正在成功地抓取数据,因为它在控制台中记录了数据数组。不知道我哪里出错了。这是我的剧本:

from django.db import models
from django.core.exceptions import ValidationError
from django.core.files.images import get_image_dimensions
from django.contrib.auth.models import User
from Submission.storage import OverwriteStorage
from Profile.models import Notification

class Track(models.Model):

    ...

class Comment(models.Model):
    user = models.ForeignKey(User, unique=False)
    track = models.ForeignKey(Track, unique=False, related_name = 'comments')
    content = models.TextField(max_length=450)
    created = models.DateTimeField(auto_now=False,auto_now_add=True)
    edited = models.BooleanField(default=False)
    replies = models.ManyToManyField('Comment', blank=True)
    score = models.BigIntegerField(default=0)

    class Meta:
        ordering = ('-created',)

    def save(self, *args, **kwargs):
        super(Comment, self).save(*args, **kwargs)
        notification = Notification(user=self.track.user, sender=self.user, track=self.track, content_type='comment', content=self.content)

1 个答案:

答案 0 :(得分:2)

只是一些提示:

  • 您可以查看您使用的mongodb NodeJS驱动程序版本吗? 1.x2.x非常不同
  • 在2.x驱动程序版本中,db.collection.insert()实际上已被弃用,支持更详细的.insertOne().insertMany()
  • 如果您提供写回调,例如
  • ,您可以调试插入操作

collection.insert(products, function(error,result) { console.log(error); console.log(result); })