Articles of mongodb

在mongoose节点js中添加键值对数据

我在Mongoose中有一个模式,如下所示: const SocketDetailsUserSchema = new mongoose.Schema({ userId: String, socketValue: [{ id: String, data : String }], isDeleted: Boolean, dateCreated: Date, updateAt: Date }); 我想以数组格式在键值对中插入socketValue的数据。 应该看起来像 { "_id" : ObjectId("5a12809c7f7afb1e3626857f"), "userId" : "59eee19696fe6560cd54a081", "socketValue" : [{"id":"5a05855b10600e4aa5b3a48e" , "value" : "123" }],[{"id":"5a0ae037a90746c249b6c1f7" , "value" : "456" }]", "isDeleted" : false "__v" : 0 } 这是mongoose数据格式。 我如何可以像这样在mongoose中插入数据? 我也很困惑,我应该如何发布postman的数据在这里插入数据?

Mongooses – 如何在过去两周内获得数据变化

假设我有一个书架。 它有几个领域。 const Book = new schema({ title: String, content: String, like: Number }); 如何得到过去2周内最喜欢的书? 最重要的是,它需要每天更新。 举个例子,假设我现在只需要过去两天的喜欢。 第一天共有5人喜欢这本书,第二天有7人喜欢这本书,第三天有3人。 因此,我预计第二天有12个喜欢(5 + 7) , 第三天有7个喜欢(7 + 3) 我打算添加一个字段和一个14元素的数组。 { …, likeCnt: { type: Array, default: Array(14).fill(0) } } 所以只有当有人喜欢这本书时才更新Date().getDate() % 14 th元素。 但是,我需要使用cron-job来每天将每本书的likeCnt[] 。 请告诉我一个更有效的解决scheme。 非常感谢。

如何在DD-MM-YYYY中获取dateh:mm:ss:ssss使用时刻

我想知道有没有一种方法使用momentjs捕捉当前时间的毫秒数 我正在工作的场景是存储用户聊天消息,想要捕获毫秒发送消息的时间,目前我不知道该怎么做 我正在使用mongodb和nodejs Mongoose模式如下所示 var mongoose = require('mongoose'); var uniqueValidator = require('mongoose-unique-validator'); var moment = require('moment'); Schema = mongoose.Schema; // https://www.npmjs.com/package/mongoose-unique-validator var categorySchema = new mongoose.Schema( { CatId: { type: Number, required: true, unique: true }, Name: { type: String, required: true, unique: true }, Description: String, Is_Active: Number, Db_Created_TimeStamp: { type: Date, default: moment().format('YYYY-MM-DD […]

Mongoose / MongoDB:从名称中获取_ids

给定一个string数组,并在MongoDB中使用该string和主键的集合,如果存在,如何获得这些string的_id,如果不存在,则插入logging? 该集合只有名称和它的_id。

使用Node.js迭代超过5000万个MongoDB集合logging的最快方法

我正在使用stream()迭代在Node.JS中有超过5500万条logging的集合。 它是一个简单的迭代,我检查每个logging的不同值,如果它们存在或不存在,然后计算有多lesslogging缺less这些值。 迭代复杂度为O(n)。 因此,57万GB大小的5500万条logging需要将近18个小时。 花费太多时间了吗? 我正在使用下面的查询迭代样本是55万logging的集合。 db.collection(`sample`).find({}).stream() .on('data', (data) => { if (data.value) { count++ } }) .on('error', (error) =>{ }) .on('end', () => { console.log('success') }) 迭代所有logging(不使用任何查询或过滤条件)的最佳方法是什么? 我想知道这样的迭代是否合适,如果没有,那么会出现什么问题呢?

用mongoose连接Mlab

嗨,我试图做一个简单的连接 mongoose.connect('mongodb://JFalcon:john2522@ds119476.mlab.com:19476/hidonshabat', {useMongoClient: true}, function(err){ if(err) { console.log('Some problem with the connection ' +err); } else { console.log('The Mongoose connection is ready'); } }) 正如你可以看到这是url! Plaese帮助我

如何安全地更新共享的MongoDB实例?

我想了解如何在应用程序启动过程中build立我认为需要成为Mongo数据库上的write-lock 。 我有一个设置,我们有几个(在这个图中只有2个)build立到Mongo副本集的连接的Node API。 在启动时,我希望能够对Mongo运行一些脚本,如果它是旧版本。 例如: MongoDB: v1 schema 节点应用程序: expecting v3 schema 因此,在启动期间,Node App将运行v2Upgrade.js和v3Upgrade.js或类似的。 但是,我想确保只有1节点应用程序可以在任何时候运行此。 所以2个问题: 我以正确的方式思考这个问题吗? 我怎样才能最好地创build某种锁,所以只有一个进程在数据库“准备就绪”之前运行这些更新?

docker – 撰写只运行我的MongoDB服务器,但没有运行我的JS文件

我是新来的使用docker。 我正在开发一个简单的表单,将用户input的数据提交到一个mongodb数据库,并将其redirect到一个html页面。 它在我的本地主机上工作完美,但是当我dockerize它,它不起作用。 事情是,我的代码在Mac上完美工作,但不在Windows操作系统上。 任何帮助将不胜感激。 这是我的js代码: var express = require('express'); var app = express(); var fs = require('fs'); var bodyParser = require('body-parser'); var urlencodedParser = bodyParser.urlencoded({ extended: false }); var MongoClient = require('mongodb').MongoClient; app.use(express.static(__dirname + '/../public')); app.get('/', (req,res)=> file = fs.createReadStream(__dirname + '/clientlogin.html').pipe(res)); app.get('/thanks', (req,res)=> file = fs.createReadStream(__dirname + '/formthanks.html').pipe(res)); app.post('/', urlencodedParser, function(req,res){ var firstname […]

是否有可能使用mongoose直接查询子文档?

假设有一个用户模型和一个Post模型。 在这种情况下,用户会有很多post; 用户将是父母,邮政将是孩子。 是否有可能直接查询post? 例如,如果我想要做类似的事情 app.get('/post/search/:query', (req,res) => { Posts.find({title: req.params.query }, (err,post) => { res.send(JSON.stringify(post)) }) }) 或者必须做: app.get('/post/search/:query',(req,res) => { let resultsFromQuery = []; User.find({'post.title':req.params.query'}, (err,user) => { user.posts.forEach((post) => { if(post.title === req.params.query){ resultsFromQuery.push(post); } }) }) res.send(JSON.stringify(resultsFromQuery)) }) 编辑:这是我的模式。 用户模式(父) const mongoose = require('mongoose'), Schema = mongoose.Schema, PostSchema = require('./post.js'); let […]

摩卡testing不返回mongod保存

我在使用nodejs,MongoDB和mochatesting用户validation方法时遇到了麻烦。 错误 ^CHarrys-MacBook-Pro:Phonex hcbh96$ npm run test-watch > ls@1.0.0 test-watch /Users/hcbh96/Desktop/PhonexDevelopment/Phonex > nodemon –exec 'npm test' [nodemon] 1.12.1 [nodemon] to restart at any time, enter `rs` [nodemon] watching: *.* [nodemon] starting `npm test` > ls@1.0.0 test /Users/hcbh96/Desktop/PhonexDevelopment/Phonex > mocha tests/**/*.test.js Node app is running at localhost: + 3000 Post /tempUser { phone: '5005550006', countryCode: '+1', […]