草庐IT

Node-red

全部标签

node.js - 如何使用 MongoDB 和 Node.js 根据用户输入从多级文档中过滤记录?

我需要根据用户输入使用聚合函数从MongoDB的多级文档中获取数据,但没有得到预期的结果。我在下面提供文档的格式。{"zone_list":[{"zone":'NORTH',"state_list":[{"state":"DELHI","location_list":[{"location":"NEWDELHI","task_list":[{"login_id":"9937229853"},{"login_id":"9937229854"}]},{"location":"AIRPORT","task_list":[{"login_id":"9937229855"}]}]},{"stat

node.js - MongoDB - 如何从具有 ID 的对象数组中检索多个集合

所以,我有一个包含以下集合的数据库。(使用整数表示对象ID)书籍:books=[{_id:1,title:"HarryPotter"},{_id:2,title:"Themazerunner"}...]客户:customers=[{_id:1,name:"John"},{_id:2,title:"Jane"}...]建议:recommendations=[{customerID:1,recommendations:[{bookID:1,likelihood:0.9},{bookID:2,likelihood:0.8}]},{customerID:2,recommendations:[{

node.js - Mongoose - 检查 `upsert` 是否创建了新文档

有什么方法可以知道Mongoose的upsert选项是否通过await创建了一个新文档?本质上我想做this除了没有回调。注意:我正在使用findByIdAndUpdate 最佳答案 mongoose函数的callback、asyncawait甚至with.then都没有区别回调User.update({_id:usr._id},upsertData,{upsert:true},function(err,num){console.log(err)console.log(num)}异步等待try{constnum=awaitUser.

node.js - Mongoose 更新或插入许多文件

我正在尝试使用最新版本的mongoose插入对象数组,或者在相应的产品ID已存在时进行更新。我终其一生都无法找出正确的使用方法(bulkWrite、updateMany等),而且我似乎无法在不出错的情况下找出语法。例如,我正在尝试Product.update({},products,{upsert:true,multi:true},(err,docs)=>console.log(docs))这会引发错误DeprecationWarning:collection.updateisdeprecated.UseupdateOne,updateMany,orbulkWriteinstead.M

node.js - $lookup 子数组中的每个元素

所以在我的数据库中,我有3个集合,它们看起来像这样:客户:customers=[{_id:1,username:"jack",...},{_id:2,username:"jane",...}...]评论:reviews=[{_id:1,customerID:1,message:"mymessage",...}...]评论:comments=[{_id:1,reviewID:1,customerID:2,message:"myresponse"...}...]客户可以发表评论,也可以评论其他评论。所以,我想要的是一个mongodbaggregation查询:检索评论。进行评论的客户的数据

node.js - 如何在 mongodb 中存储 npm 包中的 node.js 对象

我是nodejs的初学者。我正在使用merkle-tools在我的meteor应用程序中。我正在创建类MerkleTools的对象。varmerkleObj=newMerkleTools();是否可以将此对象merkleObj存储在MongoDB中?所以在需要的时候,我可以从数据库中检索存储的对象并调用它的函数,如addLeaf()等。 最佳答案 在将树存储到数据库之前,必须对其进行序列化。您正在使用的图书馆没有这样的选项,但您可以自己轻松完成。以下代码假定您正在使用此模块https://www.npmjs.com/package/

node.js - 连接到副本集时的“MongoError: no mongos proxy available”

我正在遵循本教程(https://github.com/drginm/docker-boilerplates/tree/master/mongodb-replicaset),以便获得三个实例的mongodb副本集,以在docker-compose中工作。这是我到目前为止已采取的步骤:1)我已经将setup和mongo-rs0-1文件夹复制到了我的根目录中。2)我已经将三个mongo实例和安装实例添加到我的docker-compose文件中。现在看起来像这样:version:'3'services:mongo-rs0-1:image:"mongo-start"build:./mongo-

node.js - MongoDB 集合变化时自动刷新页面

我正在制作一个带有MongoDB应用程序的Node.Js,每次我的MongoDB集合发生变化时,我都需要刷新我的一个HBS页面。不知道我应该做什么。这样做的最佳方法是什么?干杯。 最佳答案 您可以读入Mongodb或mongoose更改流,您可以在更改时观看这些流Mongoose网站的典型例子://CreateanewmongoosemodelconstpersonSchema=newmongoose.Schema({name:String});constPerson=mongoose.model('Person',personSc

node.js - Mongoose 填充排序_Mongoose Node.js

我有两个模式代表我的帖子和类别文档。我正在尝试使用category.order属性对我的帖子进行排序。order属性是一个数字字段。constpostSchema=mongoose.Schema({title:{type:String,max:200,},body:{type:String,max:10000,},categories:{type:mongoose.Schema.ObjectId,ref:'Category',required:true}})module.exports=mongoose.model('Post',postSchema);constcategorySch

node.js - Mongoose promise 和 sonarqube

我喜欢asyncawait语法,我在mongoose中经常使用它。所以在我的项目中有很多:constuser=awaitUser.findOne({_id:req.params.id})正如预期的那样工作。但是,在sonarqube中,我有这些错误:在非promise上重构这个冗余的“等待”。Sonar规则i:ItispossibletouseawaitonvalueswhicharenotPromises,butit'suselessandmisleading.ThepointofawaitistopauseexecutionuntilthePromise'sasynchronous