【发布时间】:2019-12-24 06:57:30
【问题描述】:
我将 mLab 用于我的数据库。我有一个列表集合,其中每个列表都有一个带有 _id、userId 和一个项目数组的对象。
现在我想在特定列表的数组中添加一个新项目。
连接Mongo的函数有新的item对象和list id。
如何找到正确的列表并将新项目添加到项目数组中?
每个列表的 JSON 如下所示:
{
"_id": {
"$oid": "5ded5eb7e7179a3015b0672f"
},
"userID": "1234",
"items": [
{
"_id": "abc12345",
"name": "abc",
},
{
"_id": "abc12346",
"name": "def",
}
]
}
连接Mongo的函数如下所示:
function addItem({item, listId}) {
return MongoService.connect()
.then(db => {
const collection = db.collection('lists');
//need to do something here
})
}
连接到 Mongo :(工作正常,我确实连接并加载列表)
function connectToMongo() {
if (dbConn) return Promise.resolve(dbConn);
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb:// ***my user and password ***';
return MongoClient.connect(url)
.then(client => {
console.log('Connected to MongoDB');
client.on('close', ()=>{
console.log('MongoDB Diconnected!');
dbConn = null;
})
dbConn = client.db()
return dbConn;
})
}
module.exports = {
connect : connectToMongo
}
【问题讨论】:
-
你愿意使用库来解决这个问题吗?
-
你有什么想法?
-
Ramda 和/或 partial.lenses
-
我猜
MongoService来自某个外部模块,它是第三方包吗?如果是,它是什么包? -
@OTZ 我有另一个具有 conectToMongo 功能的模块。我用它来加载列表,它工作正常
标签: javascript mongodb mlab